将值写入 Excel 单元格
Writing a value to an Excel cell
我的目标是创建一个带有按钮的简单功能区,该按钮可在活动作品 sheet 中将单元格 (A1) 值设置为 "Hello World!"。
我有这段代码,但它 returns 是一个错误,我不知道我做错了什么。
错误截图:
代码:
Imports Microsoft.Office.Tools.Ribbon
Imports Microsoft.Office.Interop.Excel
Public Class Ribbon1
Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
xlBook = xlApp.ActiveWorkbook
xlSheet = xlBook.ActiveSheet
With xlSheet
.Range("A1").Value = "Hello World!"
End With
End Sub
End Class
您需要先添加一个新的Workbook
,然后才能对其进行任何操作:
xlApp.Workbooks.Add()
我也会考虑声明一个 Range
来使用:
Dim xlRange As Excel.Range = xlSheet.Range("A1")
xlRange.Value = "Hello World!"
您的代码看起来类似于:
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook = xlApp.Workbooks.Add()
Dim xlSheet As Excel.Worksheet = CType(xlBook.ActiveSheet, Excel.Worksheet)
Dim xlRange As Excel.Range = xlSheet.Range("A1")
xlRange.Value = "Hello World!"
另请转Option Strict On:
Restricts implicit data type conversions to only widening conversions, disallows late binding, and disallows implicit typing that results in an Object type.
我的目标是创建一个带有按钮的简单功能区,该按钮可在活动作品 sheet 中将单元格 (A1) 值设置为 "Hello World!"。
我有这段代码,但它 returns 是一个错误,我不知道我做错了什么。
错误截图:
代码:
Imports Microsoft.Office.Tools.Ribbon
Imports Microsoft.Office.Interop.Excel
Public Class Ribbon1
Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
xlBook = xlApp.ActiveWorkbook
xlSheet = xlBook.ActiveSheet
With xlSheet
.Range("A1").Value = "Hello World!"
End With
End Sub
End Class
您需要先添加一个新的Workbook
,然后才能对其进行任何操作:
xlApp.Workbooks.Add()
我也会考虑声明一个 Range
来使用:
Dim xlRange As Excel.Range = xlSheet.Range("A1")
xlRange.Value = "Hello World!"
您的代码看起来类似于:
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook = xlApp.Workbooks.Add()
Dim xlSheet As Excel.Worksheet = CType(xlBook.ActiveSheet, Excel.Worksheet)
Dim xlRange As Excel.Range = xlSheet.Range("A1")
xlRange.Value = "Hello World!"
另请转Option Strict On:
Restricts implicit data type conversions to only widening conversions, disallows late binding, and disallows implicit typing that results in an Object type.