0
Set objExcel = createObject("Excel.Application")

Set objWorkbook = objExcel.Workbooks.Open("C:\Users\deven.kamlesh.jain\Desktop\abcd.xlsx")
iRow = objworkbook.sheets("Sheet1").Usedrange.rows.Count
objworkbook.Sheets("sheet1").Range("A1:C"& iRow).Copy

objExcel.visible = true
Set Obj1 = objexcel.workbooks.add()
objExcel.displayalerts = false
Obj1.saveas("Copied abcd")

Obj1.Sheets("Sheet1").Range("A1").PasteSpecial

あるファイルを別のファイルにコピーしようとしていますが、クラスのPasteSpecialメソッドが失敗したというエラーが表示されます。Range

4

1 に答える 1

0

PasteSpecial観測されたエラーで失敗する理由は、SaveAs操作によってコピーされたデータが消去されるためです。のSaveAs後にPasteSpecialを移動し、 のCopy前に右に移動しPasteSpecialます。また、アプリケーション オブジェクトのインスタンス化の直後に、Visibleまたはのような一般的な構成プロパティを配置することをお勧めします。DisplayAlerts

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False

Set objWorkbook = objExcel.Workbooks.Open _
  ("C:\Users\deven.kamlesh.jain\Desktop\abcd.xlsx")
Set Obj1 = objExcel.Workbooks.Add

iRow = objWorkbook.Sheets("Sheet1").UsedRange.Rows.Count
objWorkbook.Sheets("sheet1").Range("A1:C"& iRow).Copy
Obj1.Sheets("Sheet1").Range("A1").PasteSpecial

Obj1.SaveAs "Copied abcd"
于 2013-05-20T11:38:11.900 に答える