ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]中英文文件怎么和成一个(段与段对应)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-3 15:54 | 显示全部楼层
将文档按章节拆分处理后再合并成整篇材料不行吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-3 16:08 | 显示全部楼层

可每章也很大啊,那样也很费时啊,来不急了!!!

TA的精华主题

TA的得分主题

发表于 2007-1-3 17:13 | 显示全部楼层
QUOTE:
以下是引用wuzhuo007ren在2007-1-3 16:08:03的发言:

可每章也很大啊,那样也很费时啊,来不急了!!!

打开“中文.doc"和“英文.doc”文档,把下列代码粘贴于“中文.doc”的ThisDocument代码窗口中,运行即可:

Sub MergeChinese_English()
    Dim c_Doc As Document, e_Doc As Document
    Dim i As Paragraph, n As Integer, myRange As Range
    Dim thatRange As Range, newRange As Range
    On Error GoTo ErrHandle
    Application.ScreenUpdating = False
    Set c_Doc = Documents("中文.doc")
    Set e_Doc = Documents("英文.doc")
    Set newRange = c_Doc.Content
GN:     For Each i In newRange.Paragraphs
        n = n + 1
        Set myRange = i.Range
        Set thatRange = e_Doc.Content.Paragraphs(n).Range
        With myRange
            If VBA.InStr(i.Style, "标题 3") <> 0 Then
                .SetRange .End - 1, .End - 1
                thatRange.SetRange thatRange.Start, thatRange.End - 1
                .InsertAfter thatRange.Text
            Else
                .InsertAfter thatRange
                .Paragraphs(2).Style = .Paragraphs(1).Style
                .Paragraphs(2).Range.ListFormat.RemoveNumbers
                .Paragraphs(2).LeftIndent = .Paragraphs(1).LeftIndent
                newRange.SetRange myRange.End, c_Doc.Content.End - 1
                GoTo GN
            End If
        End With
    Next
ErrHandle:
    Application.ScreenUpdating = True
End Sub

附代码:

 

6tPruc4v.rar (9.46 KB, 下载次数: 17)
[此贴子已经被作者于2007-1-3 17:14:42编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-3 17:20 | 显示全部楼层

对不起,没找到ThisDocument代码窗口啊,我是个菜鸟,麻烦告诉详细点,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-5 17:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-1-5 17:15 | 显示全部楼层
都交了打嘛.才看倒.我的方法是把中文转换成表格,再把英文转换成表格.把两个表格合成一个.转换成文字就对了.要求是中文跟英文的段落标记一定一一对应.

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-5 18:01 | 显示全部楼层

但这样好像有些格式不能保留啊,另外,怎么改守柔的那个程序,实现所有的标题都联再一起呢,也就是   If VBA.InStr(i.Style, "标题 3") <> 0 Then
                .SetRange .End - 1, .End - 1
                thatRange.SetRange thatRange.Start, thatRange.End - 1
                .InsertAfter thatRange.Text
所有的标题都适用这段代码,不仅仅是标题3,谢谢,

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

本版积分规则

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

GMT+8, 2024-11-17 09:33 , Processed in 0.043207 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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