VBA宏代码运行正常,复制进VB中调试出错。
vb吧
全部回复
仅看楼主
level 2
ai8343512 楼主
新人求助,如题,VBA宏代码运行都正常,复制进VB中调试就出错,新人刚研究没两天,问了好久的度娘,各种工具-引用里面的支持库都试过了,还是报各种故障,头已大,寻求各位大佬帮助。。。
Private Sub Command1_Click()
Dim myDialog As FileDialog, oFile As Variant
Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
With myDialog
.Filters.Clear '清除所有文件筛选器中的项目
.Filters.Add "所有 WORD97-2003 文件", "*.doc", 1 '增加筛选器的项目为所有WORD97-2003文件
.AllowMultiSelect = True '允许多项选择
If .Show = -1 Then '确定
For Each oFile In .SelectedItems '在所有选取项目中循环
With Documents.Open(oFile)
.SaveAs FileName:=Replace(oFile, "doc", "docx"), FileFormat:=12
.Close
End With
Next
End If
End With
End Sub
程序功能是doc批量转docx,也是网上抄的,想生成exe文件才这么弄,程序不多,挺短的,并不复杂。
2020年06月08日 03点06分 1
level 15
在VBA运行环境中,Application对象指的就是所属的程序(比如Word VBA,Application就是Word程序);但是在VB运行环境中,Application只是一个类,并不会自动生成程序对象,你需要定义一个变量,并通过CreateObject创建一个Application对象,例如:
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
然后代码中的Application改成wdApp
程序执行完之后,再结束这个对象的程序,并释放该对象:
wdApp.Quit
Set wdApp = Nothing
2020年06月08日 03点06分 2
太谢谢了,困扰了我整整一上午的问题您一下就解决了,还附带上了解释,感谢大佬!!!按您的方法已调试成功了。[哈哈]
2020年06月08日 04点06分
1