我在另一个线程中使用Jtchase08提供的代码的修改版本,并且在Excel 2010和2016中正常工作时,将对象库更改为相关的Microsoft文字版本,但是在试图使在2000年同样的事情,我的工作得到ActiveDocument.SaveAs2不能在Excel 2000中工作,但在2010和2016可以使用
运行时错误“438”:对象不支持
调试带我到这个属性或方法这里
我正在使用的完整代码如下,如果有人可以帮助修改这个工作在2000年,将不胜感激。
Sub ExportToHTML()
Dim DocPath As String
Dim MsgBoxCompleted
Worksheets("Final Code").Activate
Worksheets("Final Code").Range("A1:A322").Select
Dim AppWord As Object
Set AppWord = CreateObject("Word.Application")
AppWord.Visible = False
Selection.Copy
DocPath = CurDir & Application.PathSeparator & Range("U15")
'Create and save txt file
AppWord.Documents.Add
AppWord.Selection.Paste
AppWord.ActiveDocument.SaveAs2 Filename:=DocPath, FileFormat:=wdFormatText
Application.CutCopyMode = False
AppWord.Quit (wdDoNotSaveChanges)
Set AppWord = Nothing
MsgBoxCompleted = MsgBox("Process complete.", vbOKOnly, "Process complete")
Worksheets("User Input").Activate
End Sub
很可能2000使用早期版本的VBA,这就是为什么它不起作用。有可能使用另一个可以在2000年完成相同工作的子程序。很好的问题。 – cybermonkey
它可能是你需要在vba – user1
@ mo.h中添加一个对字对象库的引用请花些时间来阅读这个问题,OP已经这样做了:'当我将对象库改为相关的Microsoft字version'。 – cybermonkey