Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 463
  • Last Modified:

Vb.net and Word save

Hi,

My visual basic application fills bookmarks in a word document, I'd like to be able to open the savefiledialog in word from vb.net.

I know I can do this by adding : appWord.ActiveDocument.Save()
but I was wondering if it would be possible to define the current path that the savefiledialog starts in (the root), I already know where to save the files but I want to give the user the option to save over the file in the directory or change the name to something else.

Is this at all possible?
0
FCapo
Asked:
FCapo
  • 6
  • 4
  • 2
1 Solution
 
systanCommented:
pathfilename = "c:\ilikethisfolder\ilikethisfoldertoo\ilikethisfile.docx"
You can use Word.ActiveDocument.SaveAs2(PathFilename)
0
 
FCapoAuthor Commented:
The problem is it doesn't show the dialog, it saves the document in the directory but it doesn't give the user the option to rename it or change location?
0
 
systanCommented:
you could use:
Word.FileDialog(MsoFileDialogType.msoFileDialogSaveAs)
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
FCapoAuthor Commented:
How do I implement this,

If I just paste the code it says : Property access must assign to the property or use its value
0
 
systanCommented:
Try
Dim fd as Word.Dialog = Word.FileDialog(MsoFileDialogType.msoFileDialogSaveAs)
fd.show()
fd.something...
0
 
FCapoAuthor Commented:
I'm getting an odd error message

Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.Word.Dialog'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000209B8-0000-0000-C000-000000000046}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
0
 
systanCommented:
is your activation wizard showing? i meant a not registered version?
0
 
systanCommented:
You could also use when word application quits:  <wdPromptToSaveChanges>

      Dim missing As Object = System.Reflection.Missing.Value
       Word.Quit(Word.WdSaveOptions.wdPromptToSaveChanges, missing, missing)

OR
you really like not using .Quit?
0
 
CodeCruiserCommented:
One option would be to use the .NET File Save dialog as you can customize it and once the user selects the location and gives a file name, use that with Word.ActiveDocument.SaveAs method.
0
 
systanCommented:
yes, right, you could use the savefilediaglog
       
Dim sfd As New SaveFileDialog
 sfd.ShowDialog()
WordApp.ActiveDocument.SaveAs2(sfd.FileName)
Great idea CodeCruiser ;-)
0
 
FCapoAuthor Commented:
That's a good idea thank you,

If on the other hand I know the path to save the file and I use the following code, it sometimes gives me errors that the pathname is wrong, sometimes it works and sometimes it doesn't (sometimes it saves in the directory and most times it gives me a directory error). Why does it work randomly like this?

Dim s As String =  "S:\OUV. DOSSIER- SOUMISSION\test.doc

appWord.ActiveDocument.SaveAs(s)
0
 
CodeCruiserCommented:
It looks like a network drive so network issues may sometimes prevent word from saving.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 6
  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now