From: Chr1551 on
Hello All,

I've been having a look around for an answer to my question and have tried
to piece together some VBA code for similar things but I'm a bit of an
amateur and can't get anything to work! So... I'm looking for some help!

What I want to do is basically create quotes and faxes from two separate
templates in Microsoft Word 2003 and then save them to a Quotes or a Faxes
folder. Can this be determined automatically depending on the template being
used? And can I set the filename automatically to be a fied from my document?

Is this possible? Any help would be much appreciated!

Many Thanks
From: Jean-Guy Marcil on
"Chr1551" wrote:

> Hello All,
>
> I've been having a look around for an answer to my question and have tried
> to piece together some VBA code for similar things but I'm a bit of an
> amateur and can't get anything to work! So... I'm looking for some help!
>
> What I want to do is basically create quotes and faxes from two separate
> templates in Microsoft Word 2003 and then save them to a Quotes or a Faxes
> folder. Can this be determined automatically depending on the template being
> used? And can I set the filename automatically to be a fied from my document?
>
> Is this possible? Any help would be much appreciated!
>
> Many Thanks

Yes, you can easily do that, but the only problem in your post is that it is
entirely unclear where the file name will come from. In the sample below, the
file name is lifted from a formfield called "Name". If you are working with
actual fields, it will be different...

This code displays the File Save As dialog with pre-entered information. It
assumes that one of the template names has the string "Quotes" in it.


Dim strPath As String
Dim strName As String

Const strQuotes As String = "Quotes"
Const strFaxes As String = "Faxes"

'Get template name...
If InStr(1, ActiveDocument.AttachedTemplate.Name, strQuotes) > 0 Then
strPath = "C:\" & strQuotes & Application.PathSeparator
Else
strPath = "C:\" & strFaxes & Application.PathSeparator
End If

'Get file name from document
strName = ActiveDocument.FormFields("Name").Result

'Set the new path you wish to use
ChangeFileOpenDirectory (strPath)
With Dialogs(wdDialogFileSaveAs)
.Name = strPath & strName & ".doc"
'If the user pressed "Save"
If .Display = -1 Then
'Execute the dialog
.Execute
End If
End With

From: Jean-Guy Marcil on
"Chr1551" wrote:

> Hello All,
>
> I've been having a look around for an answer to my question and have tried
> to piece together some VBA code for similar things but I'm a bit of an
> amateur and can't get anything to work! So... I'm looking for some help!
>
> What I want to do is basically create quotes and faxes from two separate
> templates in Microsoft Word 2003 and then save them to a Quotes or a Faxes
> folder. Can this be determined automatically depending on the template being
> used? And can I set the filename automatically to be a fied from my document?
>
> Is this possible? Any help would be much appreciated!
>
> Many Thanks

Ooops, I posted too fast... The code I postd in my previous post came from
two sources, and I did not adjust it correctly.
See the difference in the (wdDialogFileSaveAs).Name value assignment...


Dim strPath As String
Dim strName As String

Const strQuotes As String = "Quotes"
Const strFaxes As String = "Faxes"

'Get template name...
If InStr(1, ActiveDocument.AttachedTemplate.Name, strQuotes) > 0 Then
strPath = "C:\" & strQuotes & Application.PathSeparator
Else
strPath = "C:\" & strFaxes & Application.PathSeparator
End If

'Get file name from document
strName = ActiveDocument.FormFields("Name").Result

'Set the new path you wish to use
ChangeFileOpenDirectory (strPath)
With Dialogs(wdDialogFileSaveAs)
.Name = strName & ".doc"
'If the user pressed "Save"
If .Display = -1 Then
'Execute the dialog
.Execute
End If
End With

From: Graham Mayor on
You can intercept the FileSave (and SaveAs) command using a macro *in the
particular document template* eg

Sub FileSave()
On Error Resume Next
ChangeFileOpenDirectory "D:\My Documents\Faxes\"
ActiveDocument.Save
End Sub

You can also name the file from a field's content. Tell us more about the
Word version and the nature of the field you wish to use.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>


Chr1551 wrote:
> Hello All,
>
> I've been having a look around for an answer to my question and have
> tried to piece together some VBA code for similar things but I'm a
> bit of an amateur and can't get anything to work! So... I'm looking
> for some help!
>
> What I want to do is basically create quotes and faxes from two
> separate templates in Microsoft Word 2003 and then save them to a
> Quotes or a Faxes folder. Can this be determined automatically
> depending on the template being used? And can I set the filename
> automatically to be a fied from my document?
>
> Is this possible? Any help would be much appreciated!
>
> Many Thanks


From: Chr1551 on
Thank you both for your help. I'm using Word 2003 and have a table in my
document, I was hoping that I could use one of the cells in the table to name
the file eg. the Quote Reference cell.

"Graham Mayor" wrote:

> You can intercept the FileSave (and SaveAs) command using a macro *in the
> particular document template* eg
>
> Sub FileSave()
> On Error Resume Next
> ChangeFileOpenDirectory "D:\My Documents\Faxes\"
> ActiveDocument.Save
> End Sub
>
> You can also name the file from a field's content. Tell us more about the
> Word version and the nature of the field you wish to use.
>
> --
> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> Graham Mayor - Word MVP
>
> My web site www.gmayor.com
> Word MVP web site http://word.mvps.org
> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>
>
> Chr1551 wrote:
> > Hello All,
> >
> > I've been having a look around for an answer to my question and have
> > tried to piece together some VBA code for similar things but I'm a
> > bit of an amateur and can't get anything to work! So... I'm looking
> > for some help!
> >
> > What I want to do is basically create quotes and faxes from two
> > separate templates in Microsoft Word 2003 and then save them to a
> > Quotes or a Faxes folder. Can this be determined automatically
> > depending on the template being used? And can I set the filename
> > automatically to be a fied from my document?
> >
> > Is this possible? Any help would be much appreciated!
> >
> > Many Thanks
>
>
>