
VBScriptで
1.Excelを起動
2.CSVファイルを開く
3.開いたデータを使ってグラフ(折れ線付き散布図)を作る
という処理を一括して行おうとしています。
現在2までは成功しており、3でつまづいています。
具体的には、グラフタイプを折れ線付き散布図に変更するところでエラーが生じます。
以下実際のコードです。
'Excelを開く
Set excel = CreateObject("Excel.Application")
excel.Visible = true
'CSVファイルを開く
Set book = excel.Workbooks.Open("C:\\test.csv")
'グラフを作る
Set sheet = excel.ActiveSheet
Set chart = sheet.ChartObjects.Add(50, 50, 500, 300)
chart.Chart.ChartType = xlXYScatterLines '※※※ この行でエラー ※※※
chart.Chart.SetSourceData sheet.Range("A2:B50")
エラーの内容は「型が一致しません」というもので、この行がなければ最後まで動作します。
(グラフタイプが最もデフォルトの集合縦棒になってしまいますが)
グラフタイプを折れ線付き散布図にする、chart.Chart.ChartType = xlXYScatterLines という
シンプルな一文のどこに間違いがあるのか、ご教授願います。
No.2ベストアンサー
- 回答日時:
xlXYScatterLines はExcelの定数名です。
Excel上のVBAであれば、Excelが解釈してくれますが
VBSでは出来ませんので
Excel のイミディエイトウィンドウで
?xlXYScatterLines でEnterキー
↓
74 (2010では)
を得てこの実数をVBSで使用してください。
chart.Chart.ChartType = 74 のように。
ただ、後で見た時に分かりづらいので
Const xlXYScatterLines = 74
と宣言しておいて
chart.Chart.ChartType = xlXYScatterLines と使う場合が多いです。
ありがとうございます、これでした!
74と実数を代入したところうまくいきました!
(2002と少々古いバージョンでしたが74でOKでした)
「Exselマクロ上で記録されたVBAはそのままVBSで使える」と
思い込んでおりました。今後はこういった違いもあるという点
にもう少し注意しながら作業しようと思います。
No.1
- 回答日時:
こんにちは。
VBAのヘルプで「ChartObjects コレクション オブジェクト」のページをご参照ください。
下記の説明が参考になるかもしれません。
ChartObjects コレクションには、1 つのシートにあるすべての埋め込みグラフが含まれています。空の埋め込みグラフを新しく作成して、コレクションに追加するには、Add メソッドを使います。新しい埋め込みグラフにデータをプロットし、書式を設定するには、ChartWizard メソッドを使います。次の使用例は、埋め込みグラフを新しく作成し、セル範囲 A1:A20 のデータを折れ線グラフとして追加します。
Dim ch As ChartObject
Set ch = Worksheets("sheet1").ChartObjects.Add(100, 30, 400, 250)
ch.Chart.ChartWizard source:=Worksheets("sheet1").Range("a1:a20"), _
gallery:=xlLine, title:="New Chart"
なお、私が確認してのはExcel2003です。
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) Excelでグラフを作る際、棒グラフと線グラフが一緒になった図を作るには、どのようにExcelに数値 2 2022/04/12 22:24
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- 統計学 確率統計でExcelの使い方を教えてください。 3 2022/07/27 19:21
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフに上下限値の...
-
エクセルのグラフの色を統一す...
-
グラフの線だけをコピペしたい!
-
Excelで日付のグラフへの表示
-
Excelのグラフで
-
はみ出たレーダーチャートの表...
-
Excelグラフ
-
グラフの上側が空いているので...
-
Excelの関数
-
グラフで数値線を引く方法
-
excelで、折れ線グラフと折れ線...
-
VBSでExcelのグラフを作成
-
EXCELで数値に対応したベクトル...
-
パワーポイントでコストアップ...
-
グラフの大きさを統一したい
-
excel グラフ
-
マクロを実行すると図形はロッ...
-
【至急】Excelで睡眠時間のグラ...
-
グラフの名前を教えてください
-
エクセルのグラフを自動で一色に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフに上下限値の...
-
エクセルのグラフの色を統一す...
-
グラフの線だけをコピペしたい!
-
はみ出たレーダーチャートの表...
-
グラフの上側が空いているので...
-
【至急】Excelで睡眠時間のグラ...
-
EXELグラフをWORDに貼り付ける...
-
Excelのグラフで上と右の枠線を...
-
Excelのグラフで
-
Excelのグラフ「プロット...
-
エクセルでグラフの平均化を教...
-
エクセルで作ったグラフが縮む
-
Sma4のグラフ作製
-
EXCELで数値に対応したベクトル...
-
excelで、折れ線グラフと折れ線...
-
excelで線と線の間を塗りつぶし...
-
マイナスを表現する場合はどの...
-
excel グラフ
-
Excel:角ばったグラフの線を滑...
-
エクセル:2つのグラフを並べて...
おすすめ情報