Вот мой код. Я использую это в двух разных программах, но читаю из разных файлов шаблона xls. В одной программе это работает нормально. В другом я получаю сообщение об ошибке:
1004, «Сбой метода копирования класса Worksheet
Оба файла открыты и видны, поэтому я могу видеть, что он делает. «ThisWorkBook» имеет три вкладки, и я пытаюсь вставить вкладку из «MyBook» после первой вкладки в «ThisWorkBook».
Это команда .copy after, которая выдает ошибку. почему это работает в одном случае, а не в другом?
TempString = Open_ExcelObject(Excel_Object, XLTempDir & XLTempName) 'create Excel_Object if needed and open file
Excel_Object.Visible = True
Set thisWorkBook = Excel_Object.ActiveWorkbook
Set thisWorkSheet = thisWorkBook.Worksheets(1)
TempString = Open_ExcelObject(Excel_Object, XLInitialDir & XLTemplateNM) 'open template file
Set MyBook = Excel_Object.ActiveWorkbook
MyBook.Sheets(TabName).Select 'select desired tab to copy from template
MyBook.Sheets(TabName).Copy After:=thisWorkBook.Sheets(1) 'copy tab from template file after first tab in temp file
MyBook.Close 'close template (without save)
TempString = SaveAndClose_Excel(Excel_Object, XLTempDir & XLTempName, True) 'Close temp file WITH save
TempString = Open_ExcelObject(Excel_Object, XLTempDir & XLTempName) 'reopen temp file with the template tab now included