ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创并分享]:域代码复制器(变形域代码)/变形域代码回复器

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-2-14 11:27 | 显示全部楼层

很有用!

测试报告:变形代码反向转换中往往多几个空格,望能改进到完全可以反向转换。

TA的精华主题

TA的得分主题

发表于 2007-2-14 11:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请求斑编写一段vba把整篇文档的所有域原地转换成域结果,不管在不在表格内部,不管是那种域,不用再一部分一部分的选择再ctrl+shift+f9了。也很有用,恐怕也没有你楼上的代码复杂。

TA的精华主题

TA的得分主题

发表于 2007-2-14 13:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用菊石泽露在2007-2-14 11:35:00的发言:
请求斑编写一段vba把整篇文档的所有域原地转换成域结果,不管在不在表格内部,不管是那种域,不用再一部分一部分的选择再ctrl+shift+f9了。也很有用,恐怕也没有你楼上的代码复杂。

是不是用这样一句就可以了?
ActiveDocument.Fields.Unlink

也许如下方法更方便:在工具栏“自定义”的“所有命令”中找到unlinkfields这句,将其拖到工具栏做个按钮或另给定个快捷键(不喜欢Ctrl+Shift+F9的话)。

其实菊石兄可能理解偏了。老大的作品可不是这种用途的。

说到原代码,我觉得用在页眉页脚的处理时有问题,好像须在主文档编辑区域才起作用。

[此贴子已经被作者于2007-2-14 13:46:43编辑过]

TA的精华主题

TA的得分主题

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

sylun兄说的是!

怪不得各位学长都不吭气,可能在偷偷小我菜呢!原来一句代码就解决问题了。

可能老大们觉得不值一编,但又不愿一语道破。

所以我提的问题哪怕菜的让人笑道肚子痛也请帮助回答一下,不然我还真不能自拔呢!

在此谢谢sylun兄了!拜年了!

TA的精华主题

TA的得分主题

发表于 2007-2-15 14:24 | 显示全部楼层

sylun兄在14楼所说的方法作用的区域是不一样的:

ActiveDocument.Fields.Unlink==>运行这句对整个正文起作用,页眉页脚不好用。

也许如下方法更方便:在工具栏“自定义”的“所有命令”中找到unlinkfields这句,将其拖到工具栏做个按钮或另给定个快捷键(不喜欢Ctrl+Shift+F9的话)。==>这办法对选定的域起作用

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-2-15 17:48 | 显示全部楼层
QUOTE:
以下是引用菊石泽露在2007-2-15 14:24:00的发言:

sylun兄在14楼所说的方法作用的区域是不一样的:

ActiveDocument.Fields.Unlink==>运行这句对整个正文起作用,页眉页脚不好用。

也许如下方法更方便:在工具栏“自定义”的“所有命令”中找到unlinkfields这句,将其拖到工具栏做个按钮或另给定个快捷键(不喜欢Ctrl+Shift+F9的话)。==>这办法对选定的域起作用

请参考:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-2-15 17:46:59
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0158^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Option Explicit
Sub Example()
'
本代码将文档主文字部分和文档的主页眉部分的域转换为静态文本(切断域链接
)
    Dim myRange As Range
    With ActiveDocument
        Set myRange = .Content
        myRange.Fields.Unlink
        Set myRange = .StoryRanges(wdPrimaryHeaderStory)
        myRange.Fields.Unlink
    End With
End Sub
'----------------------
Sub UnlinkAllFields()
'
本代码将全文档域转换为静态文本(切断域链接
)
    Dim myStoryRange As Range
    For Each myStoryRange In ActiveDocument.StoryRanges
        myStoryRange.Fields.Unlink
        While Not (myStoryRange.NextStoryRange Is Nothing)
            Set myStoryRange = myStoryRange.NextStoryRange
            myStoryRange.Fields.Unlink
        Wend
    Next
End Sub
'----------------------


TA的精华主题

TA的得分主题

 楼主| 发表于 2007-5-31 12:19 | 显示全部楼层

GetViewFieldCodes代码更新:

'* +++++++++++++++++++++++++++++
'* Created By ShouRou@ExcelHome 2007-5-31 12:17:04
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
00223^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Option Explicit

Sub GetFiledsCodes()
    Dim myRange As Range, myCodes As String
    Set myRange = Selection.Range
    With myRange
        If .Fields.Count = 0 Then
            MsgBox "
您所选的内容中没有域代码!", vbInformation
            Exit Sub
        Else
            .Fields.Update
            .TextRetrievalMode.IncludeFieldCodes = True
            .TextRetrievalMode.IncludeHiddenText = True
            myCodes = .Text
            myCodes = VBA.Replace(myCodes, Chr(19), "{")
            myCodes = VBA.Replace(myCodes, Chr(21), "}")
            .SetRange .End, .End
            .InsertAfter "
注意,""{}""是由Ctrl+F9组合键自动插入的域标志! " & vbLf & "域代码:" & myCodes
            .Font.Name = "Tahoma"
            .Font.Size = 11
            .Cut
        End If
    End With
End Sub
'----------------------

TA的精华主题

TA的得分主题

发表于 2007-5-31 12:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习学习在学习

TA的精华主题

TA的得分主题

发表于 2007-5-31 13:09 | 显示全部楼层

谢谢老大!现在用起来更爽了。VBA真是奥妙无穷啊!

TA的精华主题

TA的得分主题

发表于 2007-6-1 09:56 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 22:21 , Processed in 0.032093 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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