お世話になります。
先程のとは違う件なので
新たに投稿いたしました。
VB6.0からエクセルを操作して
エクセルにグラフを表示しています。
sheet1.DrawingObjects("グラフ名").RoundedCorners = False
のところで
'DrawingObjects'メソッドは失敗しました。'_WorkSheet'オブジェクト
というエラーが出てしまいます。
sheet1は
Dim sheet1 As Excel.Worksheet
Set sheet1 = xlReportBook.Worksheets("シート名")
です。
前は出来ていたのですが
bookをfilecopyでコピーしてコピー先のbookで
処理をするように変更しました。
filecopyで何か気をつけることはありますか?
宜しくお願いします。
こんにちわ
質問の意味がわかりづらいと思うので追加です。
エクセルのマクロの記録で見ると
Sheets("Sheet2").DrawingObjects("グラフ 1").RoundedCorners = False
のようになっています。
自分のVB6.0からのソースは
Dim draw_sheet As Excel.Worksheet
Set draw_sheet = xlReportBook.Worksheets(sheetname)
draw_sheet.DrawingObjects("グラフ 1").RoundedCorners = False
としています。
マクロのSheets("Sheet2")とdraw_sheetが
違うオブジェクトになってしまっていると思うのですが
どのようにしていいかわかりません。
ご教授お願いします。
意味は大体分かるけど、状況が分かりません。
エラーメッセージだけではハッキリ原因が分からないので、
実行されている命令でどの命令が直接の原因になっているのか?
(1行で複数の命令が実行されています。ピリオドが複数ある命令は
2行以上に分解できます)
その時の各オブジェクトの状態はどうなっているか?
(Nameプロパティをデバッグ出力すれば対象のオブジェクトを
確認できますし、エラーになりそうな情報を出力して確認もできます)
とかを順に調べていく必要があると思います。
でも、それってデバッグの基礎の基礎なので、その時点で
「どのようにしていいかわかりません。」だとよっぽど暇な
人しか相手しないんじゃないかと思います。
>マクロのSheets("Sheet2")とdraw_sheetが
>違うオブジェクトになってしまっていると思う
じゃあ、検証プログラムを作ってそうなっている事を確認
したらいいのでは?で、確かに違うのであれば、それを
説明してもらえれば対策も考えましょう。
でも、思ってるだけで本当に違うのかどうか示してないのですから
どうしようもないと思います。
以前は動いていたので
Microsoft Excel 5.0/95 ブック (*.xls)形式で保存
してみたら動きました。
急ぎだったのでとりあえず、
Microsoft Excel 5.0/95 ブック (*.xls)形式のマスターを使って
それをコピーして使うことにしました。
Excel2003で動かない理由はこれから調べてみたいと思います。