【发布时间】:2013-05-12 02:59:31
【问题描述】:
这是我正在做的要点。我有一个功能区按钮,需要将一个简单的 2 列 CSV 文件逐行读取到一维数组中,然后我需要将数组写入 excel 的前两列。
我已经成功地读入了数组(下面的 msgbox 行确认了),但我一辈子都无法将任何东西写入工作表。
Imports Microsoft.Office.Tools.Ribbon
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Tools.Excel
Imports System.Text
Imports Microsoft.Office.Core
Imports Microsoft.VisualBasic.FileIO
Public Class MyRibbon
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click
Dim filename As String = "C:\DATA_csvtest.TXT"
Dim fields As String()
Dim delimiter As String = ","
Using parser As New TextFieldParser(filename)
parser.SetDelimiters(delimiter)
While Not parser.EndOfData
' Read in the fields for the current line
fields = parser.ReadFields()
' Add code here to use data in fields variable.
MsgBox(fields(0) + " " + fields(1)) 'verifies above code is working
Range("A1:B1").Value2 = fields
End While
End Using
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button2.Click
Worksheet("Sheet1").Range("A1").Value = 3.14159
End Sub
Private Sub MyRibbon_Load(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) Handles MyBase.Load
End Sub
End Class
在Button1_Click 子中,我在Range("A1:B1").Value2 = fields 上收到错误“范围是一种类型,不能用作表达式”。
在Button2_Click 子中,我只是想看看是否可以将静态值写入单个单元格。我在不同的 SO 或 MSDN 帖子上找到了确切的代码行......我现在不记得了。无论哪种方式,我都得到“'工作表'不明确,从命名空间或类型'Microsoft.Office.Tools.Excel,Microsoft.Office.Interop.Excel'导入。”
我对此比较陌生,但我已经尝试了数百种将分隔数据导入 excel 的来源/方法,更具体地说,将数据写入单元格/范围。
有没有人看到我在这里缺少/做错了什么?或者也许还有另一件事我可以尝试将数据写入单元格/范围?
【问题讨论】:
-
所以你在 VB.NET 上,你想创建一个新的 Excel 工作簿并添加 CSV 文件的值,对吧?
标签: arrays excel vba range ribbon