お世話になっております。
過去ログで似たようなものがあり参考にさせていただいたのですが
エラーになってしまうため質問させていただきました。
Test1.xlsのシートをTest2.xlsにコピーしたいのですがうまくいきません。
エラー内容は「Worksheet クラスの Copy メソッドが失敗しました。」とでます。
どなたか理解できる方がいらっしゃいましたら、ご教授をお願い致します。
環境は VB6.0(SP5) Excel2000です。
Dim objMoto As Object
Dim objSaki As Object
' エクセルを起動
Set objMoto = CreateObject("Excel.Application")
Set objSaki = CreateObject("Excel.Application")
' エクセルファイルを開く
objMoto.Workbooks.Open "C:\Text1.xls"
objSaki.Workbooks.Open "C:\Text2.xls"
objMoto.Visible = True
objSaki.Visible = True
objMoto.Sheets(1).Select
objMoto.Sheets(1).Copy After:=objSaki.Sheets(objSaki.Sheets.Count)
objMoto.Workbooks.Close
Set objMoto = Nothing
objSaki.Workbooks.Close
Set objSaki = Nothing
よろしくお願い致します。
別プロセスだからです。
ひとつのプロセスでコピーすれば平気なハズです。
Dim objMoto As Excel.Application
' エクセルを起動
Set objMoto = New Excel.Application
' エクセルファイルを開く
With objMoto
.Workbooks.Open "C:\Text1.xls"
.Workbooks.Open "C:\Text2.xls"
.Visible = True
.Workbooks(1).Sheets(1).Copy After:=.Workbooks(2).Sheets(.Workbooks(2).Sheets.Count)
.Workbooks(2).Close True
.Workbooks(1).Close
.Quit
End With
Set objMoto = Nothing
nanashiさん大変ありがとうございました。
きちんと動作しました。
ツイート | ![]() |