我真的不擅长写vba代码,我更喜欢R和统计学,但我一直在尝试自动化一些我必须手动编写的邮件。所有的信息都来自我使用的Excel和通信,我可以制作几个文档,然后将大文档拆分为几个PDF文档将是理想的。
请帮帮我
我尝试了几个代码来使它工作,最后一个是这样的:
Sub Dividirdocumentos()
Dim iSplit As Long,
iCount As Long,
iLast As Long
Dim RngSplit As Range,
StrDocName As String,
StrDocExt As String
With ActiveDocument
iSplit = InputBox("El documento contiene " & .ComputeStatistics(wdStatisticPages) & " páginas." _
& vbCr & "¿Cuál es el número de páginas por el que quiere dividir?",
"DividirDocumentos")
StrDocName = .FullName
StrDocExt = "." & Split(StrDocName, ".")(UBound(Split(StrDocName, ".")))
StrDocName = Left(StrDocName, Len(StrDocName) - Len(StrDocExt)) & "_"
For iCount = 0 To Int(.ComputeStatistics(wdStatisticPages) / iSplit)
If .ComputeStatistics(wdStatisticPages) > iSplit Then
iLast = iSplit
Else
iLast = .ComputeStatistics(wdStatisticPages)
End If
Set RngSplit = .GoTo(What:=wdGoToPage, Name:=iLast)
Set RngSplit = RngSplit.GoTo(What:=wdGoToBookmark, Name:="\page")
RngSplit.Start = .Range.Start
RngSplit.Cut
Documents.Add
Selection.Paste
ActiveDocument.SaveAs FileName:=StrDocName & iCount + 1 & StrDocExt, AddToRecentFiles:=False
ActiveWindow.Close
Next iCount
Set RngSplit = Nothing
'.Close Savechanges:=False
End With
End Sub
这一个,允许我把它们拆成偶数页,但它们不是PDF格式的,我也不能选择每个文档拆成多少页。我有一个文档,其中有一节我必须手动编辑,每个文档的长度都是可变的。
1条答案
按热度按时间szqfcxe21#
我一直在思考如何开发必要的代码,我想我已经找到了一个有用的答案。如果你发现自己处于和我一样的境地,我会和你分享:
我在VBA中创建了一个代码,允许在每个循环的开始处选择要拆分的文档,然后选择要拆分的文档的页数以及从哪个页面开始。之后,创建一个包含该内容的PDF文档,并保存不包含该部分的单词。然后,它根据需要重复循环多次,直到您输入页数为0,从而结束循环。
代码如下: