Мне не удалось установить высоту строки и ширину столбцов таблицы Excel из визуального базового приложения.Visual Basic с автоматизацией excel
У меня есть визуальное базовое приложение, где у меня есть данные в моем буфере обмена. Я копирую этот код в экземпляр excel, а затем преуспел, сохраняя полученную таблицу, а затем отлично закрывает. Я пытаюсь программно установить высоты строк и ширины ячеек перед сохранением электронной таблицы, но не смог этого сделать. Это код, который я выполнения:
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
oXL = CreateObject("Excel.Application")
oXL.Visible = True
oWB = oXL.Workbooks.Add
oSheet = oWB.ActiveSheet
oSheet.Paste()
oSheet.Cells.Select()
oSheet.Selection.RowHeight = 11.4
oSheet.Cells.EntireColumn.AutoFit()
oSheet = Nothing
oWB.Close(True, SaveFileDialog1.FileName)
oWB = Nothing
oXL.Quit()
oXL = Nothing
MsgBox("Finished!")
End If
Приложение работает без oSheet.Cells.Select(), oSheet.Selection.RowHeight = 11,4 и oSheet.Cells.EntireColumn.AutoFit() линии. С этими строками я получаю это сообщение об ошибке:
Публичный член «Выбор» по типу «Рабочий лист» не найден.
Когда я трассирую программу в Visual Studio, выполняется команда oSheet.Paste() и выполняется команда oSheet.Cells.Select(). Исключение возникает при попытке выполнить команду oSheet.Selection.RowHeight = 11.4.
Любая помощь будет принята с благодарностью.
Джонатан
Попробуйте это 'oSheet.Rows ("1: 1") RowHeight = 11.4', а также удалить' oSheet.Cells.Select() ' – Codexer
Если вы собираетесь использовать' .Select', что это. [настоятельно рекомендуется избегать делать] (https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros), это будет просто '.Select', а не '.Select()'. – BruceWayne
@ Zaggler - Я попробовал ваше предложение. Я больше не получаю сообщение об ошибке, но в полученной таблице нет строк с высотой 11.4, а столбцы также не автозаполняются. Любые другие предложения? –