0
我一直在從Visual Basic應用程序中設置的Excel電子表格的行高和列寬不成功。Visual Basic中使用Excel自動化
我有一個Visual Basic應用程序,其中我在剪貼板中有數據。我將該代碼複製到一個excel實例,然後用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',不'。選擇()'。 – BruceWayne
@ Zaggler - 我試過你的建議。我不再收到錯誤消息,但生成的電子表格沒有任何高度爲11.4的行,並且列也不是自動填充的。還有其他建議嗎? –