【发布时间】:2015-11-03 11:36:13
【问题描述】:
我有一些 word vba 代码来简化我的工作流程。其中一部分是安全的模板文件到子文件夹结构深处的特定文件位置。
Function saveFile(fileType As String)
Dim strFileName As String
Dim StrPath As String
Dim instance As WdSaveFormat
Dim format As String
'provide a file type
format = fileType
'provide default filename
docname = ActiveDocument.Tables(1).cell(2, 1).Range.Text
saveName = Left(docname, Len(docname) - 2)
'provide a path
projectnumber = ActiveDocument.Tables(1).cell(11, 3).Range.Text
projectnum = Left(projectnumber, Len(projectnumber) - 2)
projecttop = Left(projectnumber, Len(projectnumber) - 4)
pathFull = "H:\Projecten\P0" & projecttop & "00 - P0" & projecttop & "99\P0" & projectnum & "\2 - Bedrijfsbureau\2.Berekeningen\2.2 Berekeningen voorlopig\"
'provide a revision
If ActiveDocument.Tables(2).cell(2, 2).Range.Text = Chr(13) & Chr(7) Then
MsgBox ("Er is niets ingevult?")
ElseIf ActiveDocument.Tables(2).cell(3, 2).Range.Text = Chr(13) & Chr(7) Then
revLet = ""
ElseIf ActiveDocument.Tables(2).cell(4, 2).Range.Text = Chr(13) & Chr(7) Then
revLet = "_A"
ElseIf ActiveDocument.Tables(2).cell(5, 2).Range.Text = Chr(13) & Chr(7) Then
revLet = "_B"
ElseIf ActiveDocument.Tables(2).cell(6, 2).Range.Text = Chr(13) & Chr(7) Then
revLet = "_C"
Else
revLet = "_D"
End If
'concat path
StrPath = pathFull & saveName & revLet
With Dialogs(wdDialogFileSaveAs)
.Name = StrPath
.format = format
If .Display <> 0 Then
strFileName = .Name
Else
strFileName = "User Cancelled"
End If
End With
End Function
and calling the funcion
Private Sub CommandButton19_Click()
'wdFormatXMLDocument => docx wdFormatDocument => doc wdFormatPDF => pdf
Call saveFile(wdFormatXMLDocumentMacroEnabled)
End Sub
Private Sub CommandButton20_Click()
'wdFormatXMLDocument => docx wdFormatDocument => doc wdFormatPDF => pdf
Call saveFile(wdFormatPDF)
End Sub
pdf 的文件按预期保存文件,但单词 one 没有...我尝试了一些不同的选项并手动使用另存为提示错误...具有兼容性的东西。
【问题讨论】: