|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 cycyaya 于 2017-1-15 17:17 编辑
大家好,最近工作上有个难题,想请教一下大家。我手上有一个word工资表,里面有100多个部门的数据。现在想实现按部门导出数据生成单独的word文件。就是每个部门一个word文件,100多个,每个文档都以第一行部门名字命名,例如:“某某部门 在 职 人 员 工 资 发 放 明 细 表.doc"。可以实现吗?请教群里的大神!谢谢了!如能解决,感激不尽。附件是样版,为了方便,只保留了一些举例的数据。
我在论坛里找到一个使用标题分离成一个个文档的方法。按理应该可以实现
http://club.excelhome.net/thread-635894-1-1.html 就是参考的这个方法
确实是可以分离了,但是分享后的数据表格格式却是乱的,而且代码运行到最后会出差,不知道为什么。
有没有大神帮我看看,泪奔!~
以下是我用的代码:
Sub 按标题拆分文档()
Dim myDoc As Document, mytitle As String, a As String, i As Byte
Dim lngStart As Long, lngEnd As Long, myStart As Long, n As Integer
Application.ScreenUpdating = False
Set myDoc = ActiveDocument
myDoc.ActiveWindow.WindowState = wdWindowStateMinimize
a = "\/:*?""<>|"
With myDoc.Content.Find
.ClearFormatting
.Font.Name = "宋体" '各独立小文档标题字体
.Font.Size = 16 '各独立小文档标题字号,16号即三号字体
.Format = True
Do While .Execute
n = n + 1
With .Parent
lngStart = .Start
lngEnd = .Paragraphs(1).Range.End
.MoveUntil Chr(13), wdBackward
If n > 1 Then
Documents.Add.Content.FormattedText = myDoc.Range(IIf(n = 2, 0, myStart), .Start).FormattedText
ActiveDocument.PageSetup.Orientation = wdOrientLandscape '横向页面
ActiveDocument.SaveAs myDoc.Path & "\" & mytitle & ".doc"
'ActiveDocument.SaveAs Replace(myDoc.FullName, ".doc", "") & "_" & n - 1 & ".doc"
ActiveDocument.Close
End If
mytitle = Trim(myDoc.Range(lngStart, lngEnd - 1).Text)
For i = 1 To Len(a)
mytitle = Replace(mytitle, Mid(a, i, 1), "")
Next
myStart = .Start
.SetRange lngEnd, lngEnd
End With
Loop
If n > 1 Then
Documents.Add.Content.FormattedText = myDoc.Range(myStart, myDoc.Content.End).FormattedText
ActiveDocument.PageSetup.Orientation = wdOrientLandscape '横向页面
ActiveDocument.SaveAs myDoc.Path & "\" & mytitle & ".doc"
'ActiveDocument.SaveAs Replace(myDoc.FullName, ".doc", "") & "_" & n & ".doc"
ActiveDocument.Close
End If
End With
Application.ScreenUpdating = True
myDoc.ActiveWindow.WindowState = wdWindowStateNormal
MsgBox IIf(n > 1, "已将活动文档拆分并另存为" & n & "个小文档。", "活动文档不具备指定的拆分条件。")
End Sub
2016年10月工资表(样版)word格式.zip (23.44 KB, 下载次数: 0)
|
|