Тема: Открыть книгу Excel
Народ подскажите пожалуйста. Как мне открыть из AutoCAD через GetOpenFileName или еще как-нибудь, существующую книгу Excel, сделать в ней необходимые изменения (например в листе3), сохранить и закрыть ее.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Открыть книгу Excel
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Народ подскажите пожалуйста. Как мне открыть из AutoCAD через GetOpenFileName или еще как-нибудь, существующую книгу Excel, сделать в ней необходимые изменения (например в листе3), сохранить и закрыть ее.
только ссылку на объект дай в начале
dim xlApp As Excel.Application
dim xlBook As Excel.Workbook
dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open(здесь путь, , False)
Set xlSheet = xlApp.Sheets.Item(3)'типа третий лист открыт
xlApp.Visible = False' открыть в фоновом режиме
А путь можно задать через функцию GetOpenFileName?
Set xlApp = Excel.Application
file1=Excel.Application.GetOpenFileName(...)
Set xlBook = xlApp.Workbooks.Open(file1)
Set xlSheet = xlApp.Sheets.Item(3)'
'операторы
xlBook.Save
xlBook.Close
при такой конструкции он сохраняет копию книги, а не изменяет существующую. Что неправильно?
Наверно в этом случае лучше сохранять так
xlBook.SaveAs(ThisWorkBook.FullName)
~Close
~Quit
~'J'~
Нет, ошибку генерирует. А может, кто сайт с примером посоветует?
У меня работает
Option Explicit Sub demo() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim xlRange As Excel.Range Dim file1 As String On Error GoTo Error_Control Set xlApp = Excel.Application xlApp.Visible = True xlApp.Volatile xlApp.ScreenUpdating = False xlApp.DisplayAlerts = False ' file1 = Excel.Application.GetOpenFilename _ (FileFilter:="Excel Files (*.xls),*.xls", _ Title:="Select Excel files for writing", MultiSelect:=False) ' Set xlBook = xlApp.Workbooks.Open(file1) Set xlSheet = xlApp.Sheets.Item(2) Set xlRange = xlSheet.Cells(1, 1) xlRange.Value2 = "How are you?" xlSheet.Columns.AutoFit xlApp.ScreenUpdating = True xlBook.SaveAs file1 xlBook.Close xlApp.DisplayAlerts = True xlApp.Quit DoEvents Exit_Here: Set xlRange = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing Exit Sub Error_Control: MsgBox "Error number: " & Err.Number & vbNewLine & _ "Description: " & Err.Description, vbOKOnly Resume Exit_Here End Sub
~'J'~
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Открыть книгу Excel
Форум работает на PunBB, при поддержке Informer Technologies, Inc