gpt4 book ai didi

vba - 将变量从 XLSM 传递到嵌入式 DOCM

转载 作者:行者123 更新时间:2023-12-04 20:33:33 25 4
gpt4 key购买 nike

我有一个嵌入的 Word 文档 (*.docm)在我的 Excel 工作表中。

Word 文档包含 table , 与其对应的Table 有关系在 Excel 的 WorkSheet .

我希望在 Document_Open 中动态设置嵌入 Word 文档中的表格行数事件,具有以下值,来自其涉及的工作表:

ThisWorkbook.Worksheets("Sheet1").ListObjects("Salary").ListRows.Count

如何在 Excel(宏容器文档)与其嵌入的宏容器 word 文档之间传递值? - 如果它是上述大胆问题的正确答案 - 还是其他解决方案?

如果有其他解决方案答案,请注意覆盖需要:

使用来自源数据的相应值填充目标表(即在嵌入的 Word 文档中)单元格在 Worksheet 的父表中?,与使用宏容器嵌入的 Word 文档中的 Document_Open 事件自动生成字段相同。

最佳答案

我建议嵌入 .docx 文档以避免每次打开宏时都会发出警报,并将所有代码放在 Excel VBA 项目中。下面是一个示例,展示了如何从 Excel VBA 更改嵌入 Word 文档中的行数:

Sub ChangeRowsCount()

Dim n As Long

With ThisWorkbook.Worksheets("Sheet1")
n = .ListObjects("Table1").ListRows.Count
With .Shapes("Object 1")
Select Case True
Case .Type <> msoEmbeddedOLEObject
MsgBox "Invalid OLE Object type"
Case InStr(1, .OLEFormat.progID, "Word.Document", vbTextCompare) <> 1
MsgBox "Invalid Application"
Case Else
.OLEFormat.Object.Verb xlVerbOpen
With .OLEFormat.Object.Object.Parent ' Word.Application
With .ActiveDocument.Tables(1).Rows
Do While .Count <> n
If .Count > n Then .Item(.Count).Delete Else .Add
Loop
End With
.Quit
End With
.Select
MsgBox "Success"
End Select
End With
End With

End Sub

关于vba - 将变量从 XLSM 传递到嵌入式 DOCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915650/

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