gpt4 book ai didi

vba - 选拔成员方法

转载 作者:行者123 更新时间:2023-12-02 20:06:26 24 4
gpt4 key购买 nike

我正在尝试编写以下代码:

  1. 查找/定位 Word 文档表格第一列中出现的特定字符串。
  2. 将这些字符串映射到它们所在表格的直接标题。
  3. 列出 Excel 电子表格中的字符串标题映射。警告:VBA 代码将查找的所有字符串都列在现有的 Excel 电子表格下。

到目前为止,我已经能够相当轻松地找出#1 和#3。我认为#2 需要使用 Selection 类。我一直在努力熟悉它,但遇到了很多麻烦。例如,我编写了一个简单的子例程,将选择光标重置到 Word 文档的开头。该子程序是从 Excel VBA 中的主子程序调用的。

Private Sub FindHeadings()
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("C:/Users/c11145/Desktop/SSDD_Trace/Test3.docx")

'wrdDoc.Selection.HomeKey Unit:=wdStory

Selection.HomeKey Unit:=wdStory
End Sub

我收到运行时错误“438”:对象不支持此属性或方法。

我也尝试过:

Dim sel As Selection
sel.HomeKey Unit:=wdStory

但是我收到运行时错误 91。

最佳答案

我认为您需要限定您的Selection,因为这也是 Excel 中的一个可用类。

我非常确定,每当一个类名可能被多个库共享时,最短的引用(即事件应用程序的)就是默认值,因此除非您限定 Selection 将始终引用 Excel选择(形状、单元格/范围等)

当我在 Word(不是从 Excel)中运行一些非常简单的东西时,我认为这可以满足您的需要:

Sub test()
Dim wrdDoc As Word.Document
Dim wrdApp As Word.Application

Set wrdDoc = ActiveDocument
Set wrdApp = wrdDoc.Parent

wrdApp.Selection.HomeKey Unit:=wdStory

End Sub

将其移植到 Excel,尝试将 Selection 限定为 wrdApp 的成员:

wrdApp.Selection.HomeKey Unit:=6 'wdStory

我使用 6 而不是枚举常量 wdStory 的原因是,除非您使用显式引用 Word 对象模型的早期绑定(bind),否则后者将会失败。如果您没有进行早期绑定(bind),那么 wdStory 本质上是一个具有 值的未声明变量,这将在该行引发“错误参数”错误。

关于vba - 选拔成员方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com