ASPでEXCELを使用してグラフを出力するプログラムを作成しています。グラフはデータが入るとできるようにテンプレート形式をとっています。ここで、データを貼り付ける件数が縦、横ともに可変のため、グラフで使うセルの領域をASPで指定したいのです。。。がここの記述の仕方がわかりません。。以下作成途中のソースです。。。
'●エクセルアプリケーション起動
strPATH = SYS_TEMPPATH_GET("3") 'パス取得
oExcel.Workbooks.Open (strPATH & "グラフテンプレ.xls")
WEEK = Request.Form("SEL_WEEK") '週情報
CNT = Request.Form("SEL_CNT") 'データ件数
For i = 0 To CNT - 1
wkGridData = Request.Form("C_URI_" & i)
GridData = Split(wkGridData, ":")
For ix = 0 To Ubound(GridData)
oExcel.ActiveWorkbook.Worksheets(2).Cells( i+3, ix+1) = GridData(ix)
Next
Next
oExcel.ActiveWorkbook.Worksheets(1).ChartObjects("グラフ 6").Activate
oExcel.ActiveWorkbook.Worksheets(1).ActiveChart.PlotArea.Select
oExcel.ActiveWorkbook.Worksheets(1).ActiveChart.SetSourceData Source = Worksheets(2).Range("A2:H7"), PlotBy = xlRows
ここでエラーになってしまいます。ちなみに、マクロで記録をとり、VBAをVBS用にアレンジしながら作成しています。グラフの元データの指定範囲のASP(VBScript)での記述どなたかご教示ください。。。
> ASPでEXCELを使用してグラフを出力するプログラムを作成しています。
サーバでの Excel 制御は、ライセンス、セキュリティなどの面から、避けるべきかと。
http://support.microsoft.com/kb/257757/ja/
それに、Excel内部のVBAなら良いけど、外部(VBScript等)からの制御なら、Active/Select 系のプロパティやメソッドを使うのも止めた方が無難。
> ここでエラーになってしまいます。
多分、global.asa で、Excelライブラリを参照設定していないのでは?
参照設定していないのであれば、「Const xlRows=1」といった記述が必要。
ツイート | ![]() |