【发布时间】:2012-07-06 13:44:57
【问题描述】:
背景:我想使用 TextBox 中输入的特定文本作为 SaveAs 对话框中的默认文件名。
我在我的文档中实现了以下 VBA 脚本,一个 Word 2010 模板 .dotm
Sub FileSaveAs()
'for testing
Dim fileName As String
fileName = Me.tb_myTextBox.Value & "_MyFileNameToSave"
MsgBox fileName
'use specific file name in save dialog
With Dialogs(wdDialogFileSaveAs)
.Name = fileName
.Show
End With
End Sub
当我运行它时,它工作正常。我保存了 .dotm,将其关闭并从 Windows 资源管理器中重新打开(表示“最终用户”)。 但是在这种情况下,意味着在以“最终用户”身份打开模板文档后(这样我就可以从中保存一个新文档而不覆盖模板),即使我输入了一些内容,TextBox 的内容/值也是空的进入它。
那么,如何在模板的“文档模式”中读出TextBox的数据呢?
【问题讨论】:
-
您应该编辑您的问题以分享您的确切步骤,我不明白什么不适合您。此外,您的代码不完整,任何提供帮助的人都需要填写空白,这可能会导致混淆。
-
好吧,新的解释尝试...有两种情况: - (1)编辑模板,如果你保存它,它又是.dotm。在这种情况下,脚本一切正常。 - (2) 以“最终用户”(而不是模板作者)身份打开模板。如果用户单击保存按钮,文档将保存为 .doc 而不是 .dotm。在这种情况下,脚本不起作用!顺便说一句:代码不完整的地方? 困惑
-
@SiddharthRout:TextBox 位于页面上(根级别)。 VBA 脚本保存在“本文档”源代码中(而不是模块中)。
-
你解决了吗?如果没有,我可以引导你朝着正确的方向前进……
-
文本框是在用户表单中还是文档中的图形文本框?如果您的文档是真正的 Word 模板,而不仅仅是要遵循的格式或示例文档,那么在使用时不会打开它。而是创建了一个新的、未命名的文档。
标签: vba ms-word word-template