求一段VBA,难在后台运行……

天马座的流星拳 2004-06-17 08:25:25
我的办公室里有台电脑,时常有人来打东东,我想求一段VBA,在后台把文本内容变成80%灰度。
不过,我对VBA真的很不熟,不知道怎么写,可以在打印时操作,也可以在保存时操作,也可以在WORD运行时操作,反正我写了一段,总觉得不尽人意。
问题如下:
1、如果在打开时操作,我不会判断是否有是打开文本、还是新建文本,反正运行时出错;
2、如果在只保存时操作,又分不清两种“保存”;
3、反正,我全选后,把文本颜色改成80%灰度,文本就停在了“全选”状态,真是郁闷!!
...全文
195 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
忙着准备放假,结得迟了些。
techgopher 2004-06-21
  • 打赏
  • 举报
回复
呵呵,还不完整吗?这样吧:
1) 用Word录制一个宏,作你要做的操作(把文本内容变成80%灰度)。停止录制。
2) 打开VBA Editor, 找到你刚录制的宏,更名为SetTextColor或者其他
3)在项目浏览器里,找到Normal(通用模版?)->Microsoft Word Objects -> ThisDocument. 双击ThisDocument
4) 在右边的编辑器窗口,贴入如下代码:

Private Sub Document_Close()
SetTextColor
End Sub

Private Sub Document_New()
SetTextColor
End Sub

Private Sub Document_Open()
SetTextColor
End Sub

以上事件处理函数将在文件打开,新建,关闭的时候执行SetTextColor的操作。你可以视实际需要,把不需要的函数去掉。

5)保存通用模版。
  • 打赏
  • 举报
回复
给完整一点嘛,我对VB真的一点不懂。
不过,你去BCB区看看,我可是四条内裤哦。嘻嘻
techgopher 2004-06-19
  • 打赏
  • 举报
回复
一个判断文件是否新建的简单办法是比较Document对象的Name属性和FullName属性。例如:
Function IsDocumentNew() as Boolean
IsDocumentNew = IIF(activedocument.Name=activedocument.FullName,true,false)
End Function

要去掉全选状态,运行Selection.Collapse就行了。例如:
Selection.Collapse wdCollapseEnd

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧