Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在Word中检索所有可用的图表模板_C#_Ms Word_Vsto - Fatal编程技术网

C# 是否可以在Word中检索所有可用的图表模板

C# 是否可以在Word中检索所有可用的图表模板,c#,ms-word,vsto,C#,Ms Word,Vsto,我目前正在使用VSTO开发Word插件,并拥有用于插入图表的自定义逻辑。我想向用户显示一个对话框,其中包含所有可用的图表模板以及Word所做的预览。Word在何处存储图表模板以及如何检索它们?是否可以预览所有这些图表?AddChart方法采用Microsoft.Office.Core.XlChartType类型的枚举。可以使用enum.GetNames方法获取枚举的值。然后,您可以解析用户选择用于AddChart方法的值 private void Form1_Load(object se

我目前正在使用VSTO开发Word插件,并拥有用于插入图表的自定义逻辑。我想向用户显示一个对话框,其中包含所有可用的图表模板以及Word所做的预览。Word在何处存储图表模板以及如何检索它们?是否可以预览所有这些图表?

AddChart方法采用Microsoft.Office.Core.XlChartType类型的枚举。可以使用enum.GetNames方法获取枚举的值。然后,您可以解析用户选择用于AddChart方法的值

    private void Form1_Load(object sender, EventArgs e)
    { 
     listBox1.Items.AddRange(Enum.GetNames(typeof(Microsoft.Office.Core.XlChartType)));
    }

    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
        if (listBox1.SelectedIndex >= 0)
        {
            Microsoft.Office.Core.XlChartType enumVal = (Microsoft.Office.Core.XlChartType)Enum.Parse(typeof(Microsoft.Office.Core.XlChartType), listBox1.SelectedItem.ToString());
            Globals.ThisAddIn.Application.Selection.InlineShapes.AddChart(enumVal);
        }
    }

获得预览可能有点棘手

谢谢大家!!在我看来,没有任何简单的方法可以获得预览,因此我必须手动将每种图表类型与图标关联。我已经四处搜索,尚未找到显示图表对话框或获取其底层图像的方法。