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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの線だけをコピペしたい!
-
エクセルのグラフに上下限値の...
-
エクセルのグラフの色を統一す...
-
はみ出たレーダーチャートの表...
-
Excelのグラフで上と右の枠線を...
-
Sma4のグラフ作製
-
【至急】Excelで睡眠時間のグラ...
-
エクセルでグラフの平均化を教...
-
グラフの上側が空いているので...
-
Excelのグラフ「プロット...
-
wordで数直線・グラフを作成
-
EXELグラフをWORDに貼り付ける...
-
エクセル グラフのプロットエ...
-
Excelグラフ
-
エクセルのプロットエリアについて
-
エクセルのグラフにオートシェイプ
-
エクセルで作ったグラフが縮む
-
Excel2007のグラフで右の枠線を...
-
エクセル・グラフコピーができ...
-
ワードでCos、sinの図を書きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフに上下限値の...
-
エクセルのグラフの色を統一す...
-
【至急】Excelで睡眠時間のグラ...
-
グラフの線だけをコピペしたい!
-
はみ出たレーダーチャートの表...
-
エクセルでグラフの平均化を教...
-
グラフの上側が空いているので...
-
Excelのグラフで
-
Excelのグラフ「プロット...
-
EXELグラフをWORDに貼り付ける...
-
Excelのグラフで上と右の枠線を...
-
Excelグラフ
-
excelで線と線の間を塗りつぶし...
-
wordで数直線・グラフを作成
-
ワードでCos、sinの図を書きたい
-
マイナスを表現する場合はどの...
-
エクセル グラフのプロットエ...
-
Excel:角ばったグラフの線を滑...
-
Excel2007のグラフで右の枠線を...
-
Sma4のグラフ作製
おすすめ情報