Mekko Graphics グラフをインポートする
- ホーム
- リソース
- ユーザー マニュアル
- thinkcell Charts:データの視覚化
- 定量チャート
- Mekko Graphics グラフをインポートする
thinkcell Suite で Mekko Graphics グラフをインポートできます。
Mekko Graphics グラフとそのデータを thinkcell に簡単にインポートできます。
Mekko Graphics グラフを thinkcell にインポートする
Import Mekko Graphics to thinkcell ツールは、Mekko Graphics グラフを thinkcell グラフに変換します。thinkcell インポーター ツールを使用するために Mekko Graphics をインストールする必要はありません。
Mekko Graphics グラフを thinkcell にインポートするには、次の手順に従います。
- PowerPoint で、スライド上の 1 つ以上の Mekko Graphics グラフを選択するか、Mekko Graphics グラフを含むスライドを選択します。
- リボンで、thinkcell > Elements > Tools
> Import Mekko Graphics to thinkcell または Insert > thinkcell > Tools
> Import Mekko Graphics to thinkcell を選択します。
Import Mekko Graphics to thinkcell を選択すると、thinkcell は選択した Mekko Graphics グラフを thinkcell グラフに置き換えます。その他のスライド コンテンツはすべてそのまま残ります。Mekko Graphics グラフを置き換えた各スライドの後に、thinkcell は元の Mekko Graphics グラフを含むバックアップ スライドを挿入します。
ほとんどの Mekko Graphics グラフは thinkcell にインポートできますが、次の例外があります。
- ガント、フローティング バー、および水平フローティング バー グラフ
- Harvey ball など、その他の Mekko Graphics 要素
Mekko Graphics グラフまたは要素をインポートできない場合、thinkcell はメッセージを表示します。
データ行またはデータ列を含むグラフをインポートする
Mekko Graphics グラフにデータ行またはデータ列がある場合、thinkcell はそのグラフをデータ テーブル付きの thinkcell グラフとしてインポートします(データ テーブル付きグラフ を参照)。Mekko Graphics グラフでは、同じデータがデータ テーブルとグラフの両方に表示される場合があります。現在、thinkcell は同じデータをデータ テーブルとグラフの両方に表示することに対応していません。Mekko Graphics グラフで同じデータがデータ テーブルとグラフの両方に表示されている場合、thinkcell はそのグラフをデータ テーブルなしでインポートします。
インポートしたグラフのスタイルと書式を設定する
thinkcell は、Mekko Graphics グラフのスタイルと書式設定をインポートしません。ただし、Mekko Graphics グラフをインポートした後、thinkcell でグラフのスタイルと書式設定を簡単に再現できます。
グラフのスタイルを設定する
thinkcell が Mekko Graphics グラフをインポートすると、インポートされたグラフには、アクティブな thinkcell スタイル ファイルのスタイルと書式設定が適用されます(thinkcellスタイル ファイルを設定する を参照)。インポートしたグラフは、他の thinkcell グラフと同様に書式設定やスタイル設定ができます(チャートのスタイルと書式設定 を参照)。
次の画像は、グラフのコンテキスト メニューを使用してインポートしたグラフに Y 軸を追加する方法を示しています。
数値の書式を設定する
Mekko Graphics グラフのほとんどの数値書式は、thinkcell グラフにはインポートされません。thinkcell では数値書式を簡単に変更できます(グラフ ラベルの書式設定 を参照)。
次の画像は、ミニ ツールバーを使用して、元の Mekko Graphics グラフの通貨の数値書式をインポートしたグラフに適用する方法を示しています。
Mekko Graphics グラフとインポートしたグラフを比較し、相互に一貫していることを確認することをお勧めします。元のスライドとバックアップ スライドを切り替えて比較し、インポートしたグラフに必要な変更を加えます。インポートしたグラフに問題がなければ、バックアップ スライドを削除できます。
インポートしたグラフ データを編集する
thinkcell は Mekko Graphics グラフのデータを、インポートしたグラフのデータシートにインポートします。インポートしたグラフのデータは、他の thinkcell グラフと同様に編集できます(要素データシートの概要 を参照)。
非表示の系列またはカテゴリを表示する
thinkcell は、Mekko Graphics グラフの非表示の系列またはカテゴリのデータを、インポートしたグラフのデータシート内の非表示の行または列としてインポートします。インポートしたグラフで非表示の系列またはカテゴリを表示するには、グラフのデータシートで非表示データを含む列または行を選択し、選択範囲を右クリックして Unhide を選択します。詳しくは、Microsoft Support を参照してください。
インポート プロセスを自動化する
Windows では、thinkcell API 関数を使用して、Mekko Graphics グラフをプログラムで thinkcell にインポートしたり、検査したりできます。ImportMekkoGraphicsCharts は Mekko Graphics グラフを thinkcell グラフに置き換えます。GetMekkoGraphicsXML は Mekko Graphics グラフの XML 定義を抽出します。
ImportMekkoGraphicsCharts
説明
この関数は、渡された図形の配列内にあるすべての Mekko Graphics チャートを、同等の thinkcell チャートに置き換えます。すべての図形は同じスライド上にある必要があります。スライドを変更する前に、この関数は変更前のスライドのコピーを作成し、変更後のバージョンの直後に挿入します。
たとえば配列に Mekko Graphics チャートが含まれていないためスライドが変更されなかった場合、この関数は Nothing/null を返します。それ以外の場合、この関数は変更前のスライドのコピーへの参照を返します。
VBA
シグネチャ
tcPpAddIn.ImportMekkoGraphicsCharts ( _
ashp As PowerPoint.Shape() _
) As PowerPoint.Slide
例
この例を使用するには、PowerPoint のモジュールに追加します。詳しくは、Visual Basic for Applications を参照してください。
プレゼンテーションで ImportAll を実行すると、プレゼンテーション内のスライドを順に確認し、表示されているすべての Mekko Graphics チャートを同等の thinkcell チャートに置き換えます。変更前には、Mekko Graphics チャートを含む各スライドのコピーが作成されます。
Option Explicit
Sub ImportAll()
' Get reference to thinkcell Object
Dim tcPpAddIn As Object
Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object
' Iterate over copy of original Slides to avoid
' iterating over copies inserted by ImportMekkoGraphicsCharts again
Dim SlidesCopy As New Collection
Dim Slide As PowerPoint.Slide
For Each Slide In ActivePresentation.Slides
SlidesCopy.Add Slide
Next Slide
For Each Slide In SlidesCopy
' Construct Array containing only visible shapes on slide
Dim visibleShapes() As PowerPoint.Shape
ReDim visibleShapes(1 To Slide.Shapes.Count)
Dim shapeIndex As Long
For shapeIndex = 1 To Slide.Shapes.Count
If Slide.Shapes(shapeIndex).Visible Then
Set visibleShapes(shapeIndex) = Slide.Shapes(shapeIndex)
End If
Next shapeIndex
' Pass Array to ImportMekkoGraphics and store return value
Dim CopySlide As PowerPoint.Slide
Set CopySlide = tcPpAddIn.ImportMekkoGraphicsCharts(visibleShapes)
' If Slide was modified...
If Not CopySlide Is Nothing Then
' ... do things with copy of unmodified slide
End If
Next Slide
End Sub
C#
シグネチャ
PowerPoint.Slide tcPpAddIn.ImportMekkoGraphicsCharts(
PowerPoint.Shape[] ashp
);
例
この例を使用するには、C# PowerPoint VSTO Add-in プロジェクト テンプレートで、このメソッドを ThisAddIn クラスに追加します。詳しくは、C# および アドイン開発 を参照してください。
private void ImportAll(PowerPoint.Presentation presentation)
{
var tcPpAddIn = presentation.Application.COMAddIns.Item("thinkcell.addin").Object;
foreach (PowerPoint.Slide slide in presentation.Slides.Cast<PowerPoint.Slide>().ToList())
{
PowerPoint.Slide slideCopy = tcPpAddIn.ImportMekkoGraphicsCharts(
slide.Shapes.Cast<PowerPoint.Shape>().ToArray()
);
}
}
開いている各プレゼンテーションで ImportAll を実行するには、次の行を ThisAddIn_Startup メソッドに追加します。
Application.PresentationOpen += new PowerPoint.EApplication_PresentationOpenEventHandler(ImportAll);
GetMekkoGraphicsXML
説明
この関数は、shp 内の Mekko Graphics チャートの XML コードを文字列として返します。渡された図形は変更しません。
shp が Mekko Graphics チャートでない場合、E_INVALIDARG (0x80070057) エラーが発生します。
VBA
シグネチャ
tcPpAddIn.GetMekkoGraphicsXML ( _
shp As PowerPoint.Shape _
) As String
例
この例を使用するには、次のコードを PowerPoint のモジュールに追加します。詳しくは、Visual Basic for Applications を参照してください。
Option Explicit
Sub GetMekkoGraphicsXMLOfAllShapes()
' Get reference to thinkcell Object
Dim tcPpAddIn As Object
Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object
' Go through the slides in the presentation and
' output the XML of each Mekko Graphics chart on the slide
' to the debug console
Dim slide As PowerPoint.slide
For Each slide In Application.ActivePresentation.Slides
Dim shape As PowerPoint.shape
For Each shape In slide.Shapes
On Error Resume Next ' skip over shapes that are not Mekko Graphics charts
Debug.Print tcPpAddIn.GetMekkoGraphicsXML(shape)
Next shape
Next slide
End Sub
C#
シグネチャ
string tcPpAddIn.GetMekkoGraphicsXML(
PowerPoint.Shape shp
);
例
この例を使用するには、Console App の Program.cs 内のコードをこの例に置き換えます。
このサンプルには、Microsoft PowerPoint 16.0 Object Library および Microsoft Office 16.0 Object Library への参照が必要です(詳細は C# を参照してください)。
アプリケーションを実行すると、C:\Samples\GetMekkoGraphicsXML\presentation.pptx 内のプレゼンテーションを順に確認し、プレゼンテーションに含まれる Mekko Graphics チャートの XML をコンソールに出力します。
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;
namespace Sample
{
class Program
{
static void Main()
{
var ppapp = new PowerPoint.Application();
var presentation = ppapp.Presentations.Open(
"C:\\Samples\\GetMekkoGraphicsXML\\presentation.pptx",
/*ReadOnly*/Office.MsoTriState.msoTrue,
/*Untitled*/Office.MsoTriState.msoTrue,
/*WithWindow*/Office.MsoTriState.msoFalse
);
var tcPpAddIn = ppapp.COMAddIns.Item("thinkcell.addin").Object;
foreach (PowerPoint.Slide slide in presentation.Slides)
{
foreach (PowerPoint.Shape shape in slide.Shapes)
{
string xml = tcPpAddIn.GetMekkoGraphicsXML(shape);
Console.WriteLine(xml);
}
}
presentation.Close();
ppapp.Quit();
}
}
}
トラブルシューティングが必要ですか?
ナレッジベースをご確認ください