ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4119|回复: 14

我有个想法,不知怎么实现,请赐教!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2004-10-10 22:04 | 显示全部楼层 |阅读模式

我想使用一个用户窗体,将从用户窗体中收集到的信息在word文本的特定位置显示出来,不知道要怎么才能做到,请高手们赐教!

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-11 07:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

  (2)DocVariable

  语法:{ DOCVARIABLE "Name" }

  用途:插入赋予文档变量的字符串。每个文档都有一个变量集合,可用VBA(Visual Basic for Applications)编程语言对其进行添加和引用。可用此域来显示文档中文档变量内容。

  选项:

指 令 意   义

"Name" 文档变量名

这个域好像可以解决我的问题,我想问一下高手,Name是不是就是VBA中所指定的变量阿?版主在吗?讲解一下好吗?

TA的精华主题

TA的得分主题

发表于 2004-10-11 08:21 | 显示全部楼层

TO 楼主,一、二楼所述的是两个方面的问题。但均需要使用VBA。

一楼的问题,很容易解决,只要将你的想法与内容、目的上传一个附件,我可以帮你完成实施过程。

二楼的问题,涉及到VBA中文档变量对象:请参:

文档变量Variables

文档变量允许您将宏值作为文档或模板的一部分存储。例如,可在宏驻留的文档或模板中存储宏的值。可用 Variables 集合的 Add 方法向文档或模板添加变量。下列示例用 ThisDocument 属性将文档变量保存于运行宏的相同位置(文档或模板)。

Sub AddDocumentVariable()

ThisDocument.Variables.Add Name:="Age", Value:=12

End Sub

下列示例用 Variable 对象的 Value 属性返回文档变量的值。

Sub UseDocumentVariable()

Dim intAge As Integer

intAge = ThisDocument.Variables("Age").Value

End Sub

说明

可用 DOCVARIABLE 域将文档变量插入文档,DOCVARIABLE:插入赋予文档变量的字符串。每个文档都有一个变量集合,可用 Microsoft Visual Basic for Applications 编程语言对其进行添加和引用。可用此域来显示文档中文档变量内容,注意只能插入域,不能用域来修改增减。

可用 Variables(index) 返回一个 Variables 对象,其中 index 为文档变量名或索引序号。下列示例显示活动文档中文档变量 Temp 的值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-11 08:38 | 显示全部楼层

HppwDB4M.rar (5.22 KB, 下载次数: 9)

谢谢斑竹,我的文件已经上传,请帮忙看看吧!

TA的精华主题

TA的得分主题

发表于 2004-10-11 10:42 | 显示全部楼层
以下是引用smart1078在2004-10-11 8:38:00的发言:

LwX9i7b6.zip (10.68 KB, 下载次数: 11)

以下为代码,供参考:

Private Sub CommandButton1_Click() If Me.TextBox1 <> "" And Me.TextBox2 <> "" Then ActiveDocument.Paragraphs(1).Range.Text = "ÄãºÃ£¬ÎÒÊÇ" & TextBox1 & "£¬ÎÒµÄÄêÁäΪ" & TextBox2 & "Ë꣬ϣÍûºÍ´ó¼Ò³ÉΪºÃÅóÓÑ£¡" & Chr(13) End If End Sub

Private Sub CommandButton2_Click() Me.TextBox1 = "" Me.TextBox2 = "" ActiveDocument.Paragraphs(1).Range.Text = "ÄãºÃ£¬ÎÒÊÇ£¬ÎÒµÄÄêÁäΪË꣬ϣÍûºÍ´ó¼Ò³ÉΪºÃÅóÓÑ£¡" & Chr(13) Me.TextBox1.SetFocus Me.CommandButton1.Default = True End Sub

Private Sub UserForm_Activate() Me.TextBox1.SetFocus Me.CommandButton1.Default = True End Sub '*********************************

Private Sub Document_Open() UserForm1.Show End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-11 15:54 | 显示全部楼层

谢谢守柔版主,真的长进不少,这样用来解决小段文字输入比较简便,但是如果我有几十页的文本,其中每段都有少数的一些语句需要替换,还有什么好的办法吗?

TA的精华主题

TA的得分主题

发表于 2004-10-11 16:39 | 显示全部楼层

说来不信今天我的电脑某些方面感觉怪怪的一些域就是用不起来单位家中都是这个问题。本来一开始就想用域来解决,但就是更新域或者切换域时一片空白。

我希望你能上传详细文件,我可以整体考虑,如果你觉得上传不方便可以将其发到我的HOTMAIL中,可见信息一栏。以免重复设计。

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-11 19:33 | 显示全部楼层

zKpcsUp6.rar (11.89 KB, 下载次数: 10)

文件已经上传,请老师帮帮忙一下!这只是其中的一段,实际文件可能还要有很多,先谢谢了

TA的精华主题

TA的得分主题

发表于 2004-10-12 06:13 | 显示全部楼层
以下是引用smart1078在2004-10-11 19:33:00的发言:

文件已经上传,请老师帮帮忙一下!这只是其中的一段,实际文件可能还要有很多,先谢谢了

fG65aupG.rar (11.29 KB, 下载次数: 15)

注意:请适当调整插入域或者窗体中文本框的次序,以其顺序一致,这是简化代码的关键。比如,当我插入第一个域时,应该是取得窗体中第一个文本的值,第十个域时,为窗体中第十个文本框的值。

另请查看窗体中为何有两个相同的文本框?“项目名称?”

另外用表格方式可能对代码简化不利,但是对整体布局有益。

如果出现域中的代码不能及时更新(我的电脑好象出了问题,怪怪的,修复OFFICE时又死机了),请全选文本后反复右键:切换域代码,更新域,切换域代码,更新域等(应该不会,我的OFFICE肯定是哪个环节出了问题了)。

以下为代码供参考:

Private Sub CommandButton1_Click() Dim i As Control, StrText As String, n As Integer On Error Resume Next For Each i In Me.Controls If i.Name Like "TextBox*" = True Then n = n + 1 StrText = i.Text If StrText <> "" Then ActiveDocument.Fields(n).Code.Text = " Quote """ & StrText & """" Else ActiveDocument.Fields(n).Code.Text = "" End If End If Next ActiveDocument.ActiveWindow.View.ShowFieldCodes = _ Not ActiveDocument.ActiveWindow.View.ShowFieldCodes End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-12 07:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢指点,有两个问题:

1、 ActiveDocument.ActiveWindow.View.ShowFieldCodes = _ Not ActiveDocument.ActiveWindow.View.ShowFieldCodes

这句话是什么意思?

2、确定后,没有显示域的结果,只显示了{}中的内容,怎么样才能让其自动显示域结果?用什么语句?

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 17:15 , Processed in 0.051878 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表