dim count as long
Dim Filt As String
Dim FilterIndex As Integer
Dim Title As String
Dim File As Variant
Dim fText As String
'创建文件筛选列表
Filt = "Text Files (*.txt),*.txt,"
'默认显示*.*
FilterIndex = 1
'设置对话框标题
Title = "打开文本文件"
'获取文件路径以及文件名
File = Application.GetOpenFilename _
(FileFilter:=Filt, _
FilterIndex:=FilterIndex, _
Title:=Title)
'如果取消对话框则退出
If File = False Then
MsgBox "您未选择文件"
Exit Sub
End If
'excel获取文本数据
Open File For Input As #1
count = 0
Do While Not EOF(1)
count = count + 1
Line Input #1, fText
Worksheets("Sheet1").Cells(count, 1).Value = fText
Loop
Close #1
不能的,在 VB 中 Open 只能是关键字,在调用时如果某一过程名不符合 VB 的要求,则需要在其两侧加方括号:
Dim MyCollection As New Collection
Dim NextEnum As Object
Set NextEnum = MyCollection.[_NewEnum]
照理说,与关键字可能发生冲突,也需要加方括号,
但我试了一下,实际不用。
可是,如果在声明一个不符合 VB 的要求的过程名称时,
加方括号却遇到了问题:
Public Sub [Open]() '编译错误
因此 VB 6.0(或是 VBA 6.0)是不支持声明不符合要求的过程名称的。
但在 VB.NET 中是可以的(虽然这么做不被推荐),例如:
Public Sub [Sub]()
Public Function [Property]() As Object
Dim [___] As Long
不过目前还没有见到 VB.NET 取代 VBA 的位置。
除过在 Office 2010 的 InfoPath 中的代码可以在 VB.NET 环境中编辑以外,
甚至 Office 2010 的 Word 还在用 VBA 6.0……
而至于人家 Workbooks,
因为人家用的不是 VB,而是 C,
因此没有这么严格的限制。
所以只能将就一下了……
起个 OpenWorkbook 或是 OpenSheet 之类的,
只要避开关键字就行……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)