2017-10-26 14 views
2

私は2016 vstoアプリケーションビルドにC#で優れています。私はチャートコントロールを持っており、チャートタイプをヒストグラムに設定したいと思っています。 Excelからこのチャートを選択できますが、このチャートタイプをプログラムで設定することはできません。 enter image description hereC# - ヒストグラムがExcel 2016で機能しない理由

つまり、XlChartType列挙型のヒストグラムチャートタイプが見つかりません。

+0

インターフェイスから1つを挿入して、コードで 'Type'をチェックしましたか? – Chris

答えて

3

オブジェクトブラウザから見ることができるように、ヒストグラムの値が11876では、Excelマクロで常に開いてオブジェクトブラウザをすべきであり、そしてあなたが

histogram

探しているものを検索し、そのようなケースではヘックスで。私はあなたがする必要がどのような

Worksheet sheet1 = Globals.Factory.GetVstoObject(Globals.Sheet1.Application.Worksheets[1]); 
//chartTest 
Excel.ChartObject myChart = (Excel.ChartObject)sheet1.ChartObjects("chartTest"); 
myChart.Chart.SetSourceData(sheet1.Range["A1", "A51"]); 
myChart.Chart.Type = 118; 

がある問題を発見した下のコード

デバッグ、コード:あなたは直接、一定

編集-1を定義することで、あなたのコード内で同じを使用することができます118ChartTypeを割り当て、Typeに割り当てないでください。以下のコードは正常に機能しました

Worksheet sheet1 = Globals.Factory.GetVstoObject(Globals.Sheet1.Application.Worksheets[1]); 
//chartTest 
Excel.ChartObject myChart = (Excel.ChartObject)sheet1.ChartObjects("chartTest"); 
myChart.Chart.SetSourceData(sheet1.Range["A1", "A51"]); 
Excel.XlChartType myType = (Excel.XlChartType)118; 

myChart.Chart.ChartType = myType; 
+0

myChart.Chart.Type = 118を設定しようとしましたが、「エラーHRESULT E_FAILがCOMコンポーネントの呼び出しから返されました」というメッセージが表示されます。 – user781700

+0

@ user781700、デバッグするための最小限のリポジトリを取得することは可能ですか? –

+0

@ user781700、サインアップと有料アカウントを必要としないリンクを提供してください –

0

ヒストグラムをシートに追加するだけで、簡単にマクロを記録できます。

録画を停止し、Alt + F11キーを押してVisual Basic Editorを開きます。記録されたマクロを開き、VBAをC#コードに変換/比較します。