![]() |
|
|
|
#1
|
||||
|
||||
|
Your syntax is incorrect. You need something like the following. The folder C:\mydocuments must exist!
Code:
Dim strName As String
Dim strNum As String
Dim oCC As ContentControl
Const strPath As String = "C:\mydocuments\" 'Which must exist!
With ActiveDocument
For Each oCC In .ContentControls
If LCase(oCC.Title) = "tbpanelnumber" Then
If Trim(oCC.Range.Text) = oCC.PlaceholderText Then
oCC.Range.Select
MsgBox "Enter TB Panel Number"
Exit Sub
Else
strNum = Trim(oCC.Range.Text)
End If
End If
If LCase(oCC.Title) = "tbpanelname" Then
If Trim(oCC.Range.Text) = oCC.PlaceholderText Then
oCC.Range.Select
MsgBox "Enter TB Panel Name"
Exit Sub
Else
strName = Trim(oCC.Range.Text)
End If
End If
Next oCC
.SaveAs2 Filename:=strPath & strNum & strName & ".docx"
End With
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#2
|
|||
|
|||
|
Hi,
thanks for your reply. the line save as come back as object not supported. Code:
.SaveAs2 FileName:=strPath & strNum & strName & ".docx" Code:
If LCase(oCC.Title) = "tbpanelnumber" Then |
|
#3
|
||||
|
||||
|
Quote:
The second quoted line checks for a content control name (converted to lower case) called tbpanelnumber. The macro reads the values of the two named content controls, checks whether you have entered text in them and if you have saves the file with those names. It will not work correctly if either the content control names you quoted are wrong, or if they are not content controls but some other kind of 'text box'.
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#4
|
|||
|
|||
|
Hi,
Sorted out problem with not saving filename, this was down to me using text boxes and not content control text. I have learned some new stuff here, so thanks for your assistance. final code below. Code:
Private Sub CommandButton1_Click()
Dim strName As String
Dim strNum As String
Dim oCC As ContentControl
Const strPath As String = "C:\Documents and Settings\msaunders\My Documents\Unitam Installs" 'Which must exist!
With ActiveDocument
For Each oCC In .ContentControls
If LCase(oCC.Title) = "panel number" Then
If Trim(oCC.Range.Text) = oCC.PlaceholderText Then
oCC.Range.Select
MsgBox "Enter Panel Number"
Exit Sub
Else
strNum = Trim(oCC.Range.Text)
End If
End If
If LCase(oCC.Title) = "panel name" Then
If Trim(oCC.Range.Text) = oCC.PlaceholderText Then
oCC.Range.Select
MsgBox "Enter Panel Name"
Exit Sub
Else
strName = Trim(oCC.Range.Text)
End If
End If
Next oCC
.SaveAs FileName:=strPath & strNum & strName & ".docx"
End With
End Sub
|
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
FileSystemObject Compile Error: User-Defined Type Not Defined
|
gsrikanth | Excel Programming | 2 | 03-28-2022 06:32 AM |
VBA code to compile one document based on multiple search terms
|
Hoxton118 | Word VBA | 4 | 04-04-2021 06:02 AM |
| Compile error: sub or function not defined.. | xena2305 | Excel Programming | 0 | 08-02-2011 10:17 AM |
| compile error in Word | raco | Word | 0 | 09-28-2010 12:40 PM |
| Runtime error 5487 - Word cannot complete the save to to file permission error | franferns | Word | 0 | 11-25-2009 05:35 AM |