以下代码运行良好。

选项严格关闭导入Microsoft。办公室。互操作公共类表单1Private Sub Form1_Load(sender As Object,e As System.EventArgs)处理Me.LoadDim xlApp作为Excel。应用程序=无xlApp=CType(CreateObject(“Excel.Application”),Excel。应用程序)xl应用程序。WindowState=Excel。XlWindowState.xl最小化尺寸wb1为Excel。工作簿wb1=xl应用程序。工作簿。打开(“C:\MyFolder\Book1.xlsx”)带有CType(wb1.表(1),Excel。工作表)列(4)。切割()列(2)。插入()以结尾结束Sub结束类

当我启用Option Strict时,就会发生错误。提前谢谢。祝您有个美好的一天。

9
  • 提供的答案将解决该错误。只是一个轻微的音符(不是大音符),而不是使用创建对象你可以使用Dim xlApp作为新Excel。应用程序
    – 漏洞
    评论 2017年1月11日12:20
  • 有什么不同吗?
    – 用户5916101
    评论 2017年1月11日12:23
  • 老实说,我并不认为你是如何编码的。Excel是一个组件对象模型对象等等创建对象将工作,但您可以直接使用擅长。应用程序所以认为它更干净,可以全部放在一条线上。
    – 漏洞
    评论 2017年1月11日12:26
  • 1
    @金克斯88909:不,我不知道有什么不同,但我不是专家,因为我很少使用办公室。我更喜欢EPPlus创建excel文件 评论 2017年1月11日12:31
  • 1
    @MichaelScofield:一个不需要办公室许可证的excel库,因此您可以在没有许可证的情况下在服务器上生成或处理excel文件 评论 2017年1月11日12:35

1答案1

重置为默认值
2

因为您正在使用Office-Interop,所以所有对象的类型都是对象,所以您需要进行以下操作:

尺寸工作表=CType(wb1.Sheets(1),Excel)。工作表)Dim column4Range=CType(工作表.Columns(4),Excel)。范围)Dim column2Range=C类型(工作表.列(2),Excel)。范围)column4范围。切割()第2列范围。插入()

(您注意到我更喜欢变量,而不是声明)

1
  • 解决了的。非常感谢你。
    – 用户5916101
    评论 2017年1月11日12:23

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.