ASP OWCでのグラフ作成について

このQ&Aのポイント
  • ASP OWCを使用してグラフを作成する際に発生するエラーの解決方法について教えてください。
  • ASP OWCを使用してグラフを作成する際に'オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Minimum''というエラーが発生します。解決方法を教えてください。
  • ASP OWCを使用してグラフを作成する際に'オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Minimum''というエラーが発生します。エラーの解決方法を教えてください。
回答を見る
  • ベストアンサー

ASP OWCでのグラフ作成について

ASP OWCでグラフの作成をしています 下記コードにて実行すると、「オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Minimum'」のエラーとなります 解決方法をお教えください よろしくお願いします --コード-- filename = Server.MapPath("graph1.gif") Set ObjChart = Server.CreateObject("OWC.Chart") Set ChaCon = ObjChart.Constants Set ObjCharts = ObjChart.Charts.Add Set SerCol = ObjCharts.SeriesCollection.Add Set SerCol2 = ObjCharts.SeriesCollection.Add 'Jiku、Jiku2に年月をセット 'Val、Val2に売上高をセット ObjCharts.Type = ChaCon.chChartTypeLineMarkers SerCol.SetData ChaCon.chDimCategories , ChaCon.chDataLiteral, Jiku SerCol2.SetData ChaCon.chDimCategories , ChaCon.chDataLiteral, Jiku2 SerCol.SetData ChaCon.chDimValues , ChaCon.chDataLiteral, Val SerCol2.SetData ChaCon.chDimValues , ChaCon.chDataLiteral, Val2 ObjCharts.Axes(ChaCon.chAxisPositionLeft).NumberFormat = "#,##0" ObjCharts.Axes(ChaCon.chAxisPositionLeft).MajorUnit = "1000" ObjCharts.Axes(ChaCon.chAxisPositionLeft).Minimum = 10000 ObjChart.ExportPicture filename, "gif", 300, 300

質問者が選んだベストアンサー

  • ベストアンサー
  • SE-TOMMY
  • ベストアンサー率77% (17/22)
回答No.1

Minimunプロパティは、Scalingオブジェクト内のプロパティです。 (×)ObjCharts.Axes(ChaCon.chAxisPositionLeft).Minimum = 10000               ↓ (○)ObjCharts.Axes(ChaCon.chAxisPositionLeft).Scaling.Minimum = 10000 たぶんこれでOKだと思います。 ※当方はOWC11で開発経験があります。 OWCについては、なかなか情報が少なく、 各バージョンの「Office Web コンポーネント VisualBasic リファレンス」を参考になさると良いでしょう。 URLを載せておきます。

参考URL:
http://support.microsoft.com/kb/319793/ja
ssdhiro
質問者

お礼

ありがとうございます 解決しました

関連するQ&A

  • ASP、OWCでの折れ線グラフ表示方法について

    現在、ASPでWEBページを作成しています。 このページ内でOffice Web コンポーネントを利用して折れ線グラフを表示しようとしています。 例えば、商品Aの売上高を折れ線グラフにする場合、折れ線が1つの場合は、下記コードにて実現できましたが、折れ線が2つ(例えば、2009年の売上高と2008年の売上高)の場合はどのように記述すれば良いのでしょうか? Office Web コンポーネントを利用するのが初めてなものでどのように調べれば良いかも分からない状況です。 よろしくお願いします。 --コード-- filename = Server.MapPath("graph1.gif") Set ObjChart = Server.CreateObject("OWC.Chart") Set ChaCon = ObjChart.Constants Set ObjCharts = ObjChart.Charts.Add Set SerCol = ObjCharts.SeriesCollection.Add 'Jikuに年月をセット 'Valに売上高をセット ObjCharts.Type = ChaCon.chChartTypeLineMarkers SerCol.SetData ChaCon.chDimCategories , ChaCon.chDataLiteral, Jiku SerCol.SetData ChaCon.chDimValues , ChaCon.chDataLiteral, Val ObjChart.ExportPicture filename, "gif", 300, 300 Response.Write "<P>グラフが作成されました。" Response.Write "<P><img src='graph1.gif'>"

  • OWCによるグラフ描写について

    いつもお世話になっています。お知恵を拝借したく質問いたします。 .NET環境でOffice Web Components(OWC)11を使って Web上で折れ線グラフを表示するプログラムを作成していますが、グラフの中で指定部分を表示しないようにしたいのですが方法が解りません。 具体的にはX軸の「1,2,3,4,5,6,7,8,9,10」に対して Y軸の「10,20,30,40,50」まで表示して残りを非表示にしたいのです。Excelではデータ部分を空白にすれば非表示になりますが、''で指定しても'NULL'で指定しても「0」扱いになってしまいます。 指定方法をご存知の方がいらっしゃいましたら、どうかご教授ください。 よろしくお願いいたします 開発環境 WindowsServer2003R2 .NetFrameWork2.0 VisualStudio2005 Office Web Components(OWC)11 -------------------------以下ソース------------------------- Dim chartSpace As ChartSpace = New ChartSpaceClass() Dim chChart As ChChart = chartSpace.Charts.Add(0) '折れ線グラフ chChart.Type = ChartChartTypeEnum.chChartTypeLine 'Y軸 Dim YAxis As ChScaling YAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionLeft).Scaling YAxis.Type = ChartScaleTypeEnum.chScaleTypeLinear YAxis.Maximum = 100 YAxis.Minimum = -100 'X軸 Dim XAxis As ChScaling XAxis = chChart.Axes(ChartAxisPositionEnum.chAxisPositionBottom).Scaling XAxis.Type = ChartScaleTypeEnum.chScaleTypeLinear XAxis.Maximum = 14 '値をプロット Dim series As ChSeries = chChart.SeriesCollection.Add(0) series.Type = chartSpace.Constants.chChartTypeScatterLine series.SetData(ChartDimensionsEnum.chDimYValues, CInt(ChartSpecialDataSourcesEnum.chDataLiteral), "10,20,30,40,50,'','','','','',''") series.SetData(ChartDimensionsEnum.chDimXValues, CInt(ChartSpecialDataSourcesEnum.chDataLiteral), "1,2,3,4,5,6,7,8,9,10") With chartSpace .Border.Color = chartSpace.Constants.chColorNone End With Response.BinaryWrite(chartSpace.GetPicture("gif", 500, 400)) Response.End() -------------------------END-------------------------

  • Office Web Components(OWC)でグラフ表示させたが・・・

    サーバーにOffice Web Components Ver10をインストールし、画像データとしてクライアントにグラフ表示しています。 横軸のデータを日付にしたときと時間にした時で、グラフの表示が変わってしまいます。 時間にした時は一番左の縦軸から一番右の縦軸までの折れ線グラフが表示されます(グラフ表示エリアいっぱいに表示される)が、日付にした時は、折れ線グラフは一番左の縦軸と一番右の縦軸より内側に表示されます(グラフ表示エリアより狭い範囲に表示される)。 つまり、一番左の縦軸と折れ線グラフの開始点の間に隙間ができます。 同様に一番右の縦軸と折れ線グラフの終点の間にも隙間ができてしまいます。 クライアントの画面は日付のグラフと時間のグラフの2画面を表示しますので、どちらかに統一したいのですが、どうすればよいでしょうか。 下記のソースはstring categoryの時間の方はコメントにしていますが、日付の方をコメントにすると折れ線グラフの表示範囲が狭くなります。なにしろOWCは始めてなので、わからないことだらけです。 よろしくお願いします。 Response.ContentType = "image/gif"; Response.Clear(); Response.Buffer=true; Bitmap bitmap = new Bitmap(1230, 750, PixelFormat.Format24bppRgb); ChartSpace chartSpace = new ChartSpaceClass(); ChChart chChart = chartSpace.Charts.Add(0); chChart.Type = ChartChartTypeEnum.chChartTypeLineMarkers; string category = "4/1,4/2,4/3,4/4,4/5,4/6; //string category= "10:10,11:11,12:12,13:13,14:14,15:15"; string value = "9.99,9.98,9.97,9.96,9.95,9.95"; chChart.SeriesCollection.Add(0); chChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, (int)ChartSpecialDataSourcesEnum.chDataLiteral, category); chChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,(int) ChartSpecialDataSourcesEnum.chDataLiteral, value); Response.BinaryWrite((byte[])chartSpace.GetPicture("gif", 1230, 750)); bitmap.Dispose();

  • aspが動きません(IIS7、access2007の設定?)

    win2K,access2Kで作成したASPプログラムですが、そのままwinxp, access2003までは問題なく動いていました。 vista(ultimate),access2007ではエラー(HTTP500内部サーバエラー)となります。いろいろと調べましが、うまく動きません。 記述内容は以下のとおりです。 filename=Server.MapPath ("./") & "\data.mdb;" odbcConect="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & filename Set db = Server.CreateObject("ADODB.Connection") db.Open odbcConect アドバイスをよろしくお願いいたします。

  • VBA Graph描画でのマーカ設定

    EXCELのVBAでGraphを描画します。 下記設定で Dim objChart As ChartObject Dim charGraph As Chart Set charGraph = objChart.Chart charGraph.ChartType = xlXYScatterLinesNoMarkers charGraph.HasLegend = True 複数ノーマーカの曲線を描画します。 charGraph.SeriesCollection(counter).XValues = X charGraph.SeriesCollection(counter).Values = Y 一点だけのマーカの線を描画すると、目盛ライン枠が移動します。 以前書いた曲線は外枠にはみ出します。そのマーカの部分を コメントするすると、正常になります。マーカの曲線を書いても 同じ現象になります。 目盛ラインの設定は以下のようになります。 'X軸の設定 With charGraph.Axes(xlCategory) .MaximumScale = 18 .MinimumScale = 0 .MajorUnit = 1 .Crosses = xlAutomatic .ReversePlotOrder = False .ScaleType = xlLinear .DisplayUnit = xlNone .HasMajorGridlines = True .HasMinorGridlines = False .TickLabels.Font.Size = 10.25 .TickLabels.NumberFormatLocal = "0_ " With .MajorGridlines.Border .ColorIndex = 57 .Weight = xlHairline .LineStyle = xlDot End With End With 'Y軸の設定 With charGraph.Axes(xlValue) .MinimumScale = 0.4 .MaximumScale = 1.6 .MajorUnit = 0.1 .Crosses = xlAutomatic .ReversePlotOrder = False .ScaleType = xlLinear .DisplayUnit = xlNone .HasMajorGridlines = True .HasMinorGridlines = False .TickLabels.Font.Size = 10.25 .TickLabels.NumberFormatLocal = "0.0" With .MajorGridlines.Border .ColorIndex = 57 .Weight = xlHairline .LineStyle = xlDot End With End With '凡例の設定 With charGraph.Legend .AutoScaleFont = False .Font.Size = 10.25 End With どうぞ、よろしくお願いします。

  • グラフの表示

    VB6.0 ACCESS2000で開発しています。 下の様にACCESSからデータを読んでEXCELでグラフを表示して プレビューへ表示しています。 プレビューを表示した後、印刷してEXCELを閉じる。 又は、印刷せずに閉じた場合でも画面上はEXCELは閉じているのですが プロセスに残ってしまいます。 どこが悪いのでしょうか? よろしくお願いします。 Private Sub Command1_Click() Dim ExcelApp As Object 'Excel.Application Dim Book As Object 'Excel.Workbook Dim Sheet As Object 'Excel.Worksheet Dim cn As ADODB.Connection Dim rst As ADODB.Recordset Set cn = New ADODB.Connection cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\temp\db2.mdb" cn.Open Set rs = New ADODB.Recordset rs.Source = SELECT = "SELECT = "SELECT 商品名, 単価 FROM m_品名 rs.ActiveConnection = cn rs.CursorType = adOpenStatic rs.Open Set ExcelApp = CreateObject("Excel.Application") Set Book = ExcelApp.Workbooks.Add Set Sheet = Book.Worksheets(1) Sheet.Cells(1, 1).CopyFromRecordset rst Dim MyChart As ChartObject Set MyChart = Sheet.ChartObjects.Add(10, 100, 600, 330) With MyChart.Chart .SetSourceData Sheet.Range(Range("A1:B1"), Range("A1:B1").End(xlDown)), xlColumns .ChartType = xlBarClustered .Axes(xlValue).MaximumScale = 350 .Axes(xlValue).MajorUnit = 50 .HasTitle = True .ChartTitle.Text = "案件実績合計" .ApplyDataLabels (xlDataLabelsShowValue) '.SeriesCollection(1).ApplyDataLabels (xlDataLabelsShowValue) .Location Where:=xlLocationAsNewSheet End With ExcelApp.Visible = True Book.ActiveSheet.PrintPreview Book.Close ExcelApp.Quit Set Sheet = Nothing Set Book = Nothing Set ExcelApp = Nothing Set rst = Nothing Set cn = Nothing End Sub

  • EXCELのグラフ

    下のようにVBからExcel にデータを送りグラフを表示しています。 印刷プレビューを表示したときにグラフと表が表示されてしまいます。グラフだけを表示して表は表示をしたくないのですが どうすればいいのでしょうか お願いします。 Private Sub Command1_Click() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets.Add Dim i As Integer Dim j As Integer For i = 2 To 6 For j = 2 To 6 xlSheet.Cells(j, i) = CInt(71 * Rnd + 30) Next j Next i xlSheet.Cells(2, 1) = "国語" xlSheet.Cells(3, 1) = "数学" xlSheet.Cells(4, 1) = "英語" xlSheet.Cells(5, 1) = "社会" xlSheet.Cells(6, 1) = "体育" xlSheet.Cells(1, 2) = "石原" xlSheet.Cells(1, 3) = "小泉" xlSheet.Cells(1, 4) = "田中" xlSheet.Cells(1, 5) = "平沼" xlSheet.Cells(1, 6) = "森山" Dim MyChart As ChartObject Set MyChart = xlSheet.ChartObjects.Add(10, 100, 600, 330) With MyChart.Chart .SetSourceData xlSheet.Range("A1:F6"), xlColumns .Axes(xlValue).MaximumScale = 100 .Axes(xlValue).MajorUnit = 20 .HasTitle = True .ChartTitle.Text = "中間テスト結果" .ApplyDataLabels (xlDataLabelsShowValue) .Location xlLocationAsObject, xlSheet.Name End With xlApp.Visible = True With xlSheet.PageSetup .PaperSize = xlPaperA4 .Orientation = xlPortrait .LeftMargin = xlApp.CentimetersToPoints(2) .RightMargin = xlApp.CentimetersToPoints(2) .TopMargin = xlApp.CentimetersToPoints(2.5) .BottomMargin = xlApp.CentimetersToPoints(2.5) .HeaderMargin = xlApp.CentimetersToPoints(1) .FooterMargin = xlApp.CentimetersToPoints(1) End With xlSheet.PrintPreview Set MyChart = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub

  • EXCEL VBA:埋め込みグラフオブジェクトの命名方法について (続き1)

    http://oshiete1.goo.ne.jp/qa3258443.html の質問の続きです。 ------------------------------------------------------------- Sub sample() Dim myRange As Range Set myRange = Range("A1:D2") With Worksheets("Sheet1").ChartObjects.Add(50, 50, 300, 200).Chart .ChartType = xlPie .SetSourceData Source:=myRange, PlotBy:=xlRows .ApplyDataLabels Type:=xlDataLabelsShowLabelAndPercent, LegendKey:=False, HasLeaderLines:=True End With End Sub ------------------------------------------------------------- この手法でグラフ作成した場合について、 1. グラフ作成時に以下と同じように NumberFormatLocal を設定する方法はありますか? (通常の記述例) ActiveChart.SeriesCollection(1).DataLabels.Select Selection.NumberFormatLocal = "0.0%" といいますのは、現在作成しているマクロはユーザーの操作によっては 円グラフと棒グラフが順不同に作成される場合があり、 SeriesCollection の INDEX番号 が分からない場合があるためです。 または、グラフの名前等を指定することなどにより、 SeriesCollection の INDEX番号 を取得する事が可能でしたら その方法を教えて頂きたいのですが・・・。 2. 同じく、グラフ作成時にデータラベルのフォントを設定する方法はありますか? (通常の記述例) With Selection.Font .Name = "MS Pゴシック" .Size = 10 End With 3. 同じく、横棒グラフ作成時に、以下と同じ事はできますか? '反転 ActiveChart.Axes(xlCategory).Crosses = xlMaximum ActiveChart.Axes(xlCategory).ReversePlotOrder = True '横軸100% ActiveChart.Axes(xlValue).MaximumScale = 1 以上、何卒ご教授のほど、よろしくお願い致します。

  • 任意にデータの範囲を選択し、グラフを描画したい

    質問を閲覧していただきありがとうございます。 できればみなさんのお力を貸していただきたいことがあり、質問しました。 以下にマクロ作成に用いたプログラムの仕様とコードを貼りますので、ご指摘等いただけましたら幸いです。 まず、今回のマクロの目的は ・既に存在するエクセルデータから、x軸、y軸のデータ列の長さに応じたグラフを描画するVBプログラムを書く事 です。 ・可能ならば、既存のふたつのグラフを結合したものを新しく表示する ※データシートの画像は添付しましたのでご覧ください。 以上のふたつとなります。 理想形としては、 A2 ~ A1025までをx軸のデータ、B2~B1025までの実データ値としたグラフAを一つ D2 ~ E1025までをx軸のデータ、E2~E1025までの実データ値としたグラフBを一つ 上記二つのグラフを結合したグラフを一つ の3つのグラフが自動的に作成され、エクセルファイル上に表示されている といったような感じです。 私の書いたコードの問題点としては、 ・グラフAグラフBともに「x軸と実データが正しく対応していない」 →本来両方のグラフにおいてはグラフの右端まで折れ線グラフが続いているはずですが、x軸の値にして約1000の所でデータが終わってしまっています。 ・グラフBでは、D2 ~ D344, E2 ~ E344 を基にしたグラフ一つのみが描画されているはずですが、ここには何故か二つ以上の折れ線グラフがあるようにみえ、グラフB右には系列1~5までがあるように書かれています。(理想としては5個ではなく実データを示すもの一つのみ) ・ふたつのグラフの結合方法が不明 という感じです。 以下にプログラムを貼ります。 お時間ありましたら、ご指摘の程宜しくお願い致します。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sub グラフ描画() chart_title1 = "グラフA" chart_title2 = "グラフB" '軸のタイトル x_title = "周波数[Hz]" y_title = "パワー" ' -------------------------グラフ作成---------------------- ' グラフを描画 Dim chartObj1 As ChartObject Set chartObj1 = ActiveSheet.ChartObjects.Add(1, 1, 300, 200) With chartObj1.Chart ' データ範囲をセット .SetSourceData Source:=Range(Range("B2"), _ Cells(2, 1).End(xlDown)) ' x軸の項目軸範囲をセット .SeriesCollection(1).XValues = Range(Range("A2"), _ Cells(1, 1).End(xlDown)) ' オプションをセット .ChartType = xlXYScatterSmoothNoMarkers ' 散布図 .HasTitle = True .ChartTitle.Characters.Text = chart_title .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = x_title .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = y_title ' x軸の最大値、最小値設定 .Axes(xlCategory, xlPrimary).MinimumScale = 0 .Axes(xlCategory, xlPrimary).MaximumScale = 4500 ' y軸の最大値、最小値設定 .Axes(xlValue).MinimumScale = -10 .Axes(xlValue).MaximumScale = 3 End With Dim chartObj2 As ChartObject Set chartObj2 = ActiveSheet.ChartObjects.Add(1, 320, 300, 200) With chartObj2.Chart ' データ範囲をセット .SetSourceData Source:=Range(Range("E2"), _ Cells(2, 1).End(xlDown)) ' x軸の項目軸範囲をセット .SeriesCollection(1).XValues = Range(Range("D2"), _ Cells(1, 1).End(xlDown)) ' オプションをセット .ChartType = xlXYScatterSmoothNoMarkers ' 散布図 .HasTitle = True .ChartTitle.Characters.Text = chart_title .Axes(xlCategory, xlPrimary).HasTitle = True .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = x_title .Axes(xlValue, xlPrimary).HasTitle = True .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = y_title ' x軸の最大値、最小値設定 .Axes(xlCategory, xlPrimary).MinimumScale = 0 .Axes(xlCategory, xlPrimary).MaximumScale = 4500 ' y軸の最大値、最小値設定 .Axes(xlValue).MinimumScale = -10 .Axes(xlValue).MaximumScale = 3 End With End Sub ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 【BASP21+ASP】MDEファイルがDL出来なくなった

    いつもお世話になっております。 IIS+VBSで、サーバーに上げたファイルを各自の端末でダウンロード出来る ページを作成しています。 例えば、クライアントで <a href="download.asp?FILE=見積書.xls">見積書</a> をクリックすると、download.aspに変数FILE(見積書.xls)が 渡され、download.asp側でtoolsフォルダ配下の見積書.xlsを ダウンロードする準備を行う、といった具合です。 これまで順調に動いていたのですが、ここ2,3日で急に AccessのMDEファイルがダウンロード出来なくなってしまいました。 本来ならダウンロード確認画面に「XXX.mde」と表示されるはずが、 「download.asp?FILE=XXX_mde」と書き換えられたかのように表示され、 保存しようとしてもエラーになります。 開く を選択するとASPのエラーが表示されるのですが、 BASP21のobjBasp.BinaryReadメソッドのところで「特定できないエラー」が 表示されています。 今までMDEファイルもダウンロード出来ましたし、家で同じ環境を構築しても 上手くいったのですが、会社の環境だけこのような事態になっています。 どなたかこの解決方法をご教授願えませんでしょうか? よろしくお願い致します。 (会社、自宅とも、WinXP+IIS6です) ---------------download.asp のソース-------------- Dim dat Dim objBasp Dim fname Dim bydata fname = Request.QueryString("FILE") Response.ContentType = "application/octet-stream;name=" & fname Response.AddHeader "Content-Disposition","attachment;filename=" & fname Set objBasp = Server.CreateObject("Basp21") bydata = objBasp.BinaryRead(Server.MapPath("tools/" & fname)) Response.AddHeader "Content-Length", ubound(bydata) + 1 Response.BinaryWrite bydata Set objBasp = Nothing -------------------------------------------------------

専門家に質問してみよう