首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VBA:用Excel编辑Word文档会产生运行时错误438: Object不支持此属性或方法

VBA:用Excel编辑Word文档会产生运行时错误438: Object不支持此属性或方法
EN

Stack Overflow用户
提问于 2018-06-26 07:54:11
回答 4查看 1.3K关注 0票数 1

尽管谷歌的搜索量很大,但我还是想不出这到底是怎么回事。我是不是还漏掉了推荐信什么的?如果你能看到错误的所在,我将永远感激你!

参考文献:

  • 用于应用程序的Visual Basic
  • Microsoft 16.0对象库
  • OLE自动化
  • MicrosoftOffice16.0对象库
  • RefEdit控制
  • Microsoft 16.0对象库

变量:

代码语言:javascript
运行
复制
Public appWord As Word.Application
Public sapmWord As Word.Document

Dim asNimi As String 'in this current sub

代码:

代码语言:javascript
运行
复制
On Error Resume Next

Set appWord = GetObject(, "Word.Application")
If Err <> 0 Then
    Set appWord = CreateObject("Word.Application")
End If
On Error GoTo 0
appWord.Visible = True
Set sapmWord = appWord.documents.Open("C:\ThisIsWorking\andDocOpens.docx")
'sapmWord.Activate 'doesn't make a difference

With sapmWord
    Selection.EndKey Unit = wdStory 'this line is first line to give an error. With or without a dot in the beginning of line.
    Selection.TypeText Text:=asNimi 'this line too, if previous is commented
'...and so on!
End With

sapmWord.Close savechanges:=True
Set appWord = Nothing
Set sapmWord = Nothing
EN

回答 4

Stack Overflow用户

发布于 2018-06-26 08:14:33

sapmWord是一个word文档。word文档没有selection方法。应用程序对象这个词有它,所以你可能是指(是的,你需要'.')

代码语言:javascript
运行
复制
With appWord 
    .Selection.EndKey Unit:= wdStory 
    .Selection.TypeText Text:=asNimi 
    '...and so on!
End With
票数 2
EN

Stack Overflow用户

发布于 2020-06-10 19:47:32

您必须将sapmWord.Close savechanges:=True改为appWord.quit savechanges:=True

票数 1
EN

Stack Overflow用户

发布于 2018-06-26 08:10:24

若要使用With,必须使用.引用成员

代码语言:javascript
运行
复制
With sapmWord
    .Selection.EndKey Unit = wdStory
    .Selection.TypeText Text:=asNimi
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51037697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档