Get word to return filename to vb.net

Hi Experts,
I need to open word from vb.net
(can do this part no problem)
then once the user has completed editing the new document, I want to get the filename and path the document was saved as back to the vb app
please help
espsAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
GrahamSkanConnect With a Mentor RetiredCommented:
No you will have to use the DocumentBeforeClose event.


Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim WithEvents oApp As New Word.Application()
 
#Region " Windows Form Designer generated code "
 
    Public Sub New()
        MyBase.New()
 
        'This call is required by the Windows Form Designer.
        InitializeComponent()
 
        'Add any initialization after the InitializeComponent() call
 
    End Sub
 
    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer
 
    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Name = "Form1"
        Me.Text = "Form1"
 
    End Sub
 
#End Region
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim oDoc As New Word.Document()
 
        'Start a new document in Word            
        oApp.Visible = True 'while testing - to avoid hidden instances of Word after aborts
 
        oDoc = oApp.Documents.Add()
        ' Set up the header information.
        Dim rng As Word.Range = oDoc.Range(0, 0)
        rng.Font.Name = "Verdana"
        rng.Font.Size = 16
 
        Dim tlb As Word.Table
        tlb = oDoc.Tables.Add(rng, 5, 5)
 
        'Filling data to table
        'Header Row
        tlb.Cell(1, 1).Range.Text = "Code"
        tlb.Cell(1, 2).Range.Text = "Name"
 
        'Data Row
        tlb.Cell(2, 1).Range.Text = "0001"
        tlb.Cell(2, 2).Range.Text = "John"
        tlb.Cell(3, 1).Range.Text = "0002"
        tlb.Cell(3, 2).Range.Text = "Fred"
        tlb.Cell(4, 1).Range.Text = "0003"
        tlb.Cell(4, 2).Range.Text = "Alf"
 
        'oDoc.SaveAs("MyNewDocument.doc")
        'CType(oDoc, Word._Document).Close()
        'CType(oApp, Word._Application).Quit()
    End Sub
 
      Private Sub oApp_DocumentBeforeClose(ByVal Doc As Word.Document, ByRef Cancel As Boolean) Handles oApp.DocumentBeforeClose
        MsgBox(Doc.FullName)
    End Sub
End Class

Open in new window

0
 
GrahamSkanRetiredCommented:
There are three properties that could be useful to you.

strFileName = objWordDoc.Name
strFilePath = objWordDoc.Path
strFileSpec= objWordDoc.FullName
0
 
espsAuthor Commented:
Hi Graham,
That is fine, thanks.
However, as indicated word is opened from vb (word as object ....)
User completes his editing and saves the document.
I want word to return to  the app and get the filename returned at that point.
Maybe it could work to have some sort of effective wait... waiting for word to close
Any ideas
0
 
GrahamSkanRetiredCommented:
If you give control of the word application to the user, you will have to activate a 'With Events' Word application object and trap the BeforeSave event. Personally I have never done that in .Net.
0
 
GrahamSkanRetiredCommented:
I have tried it now, and it doesn't work as simply as I hoped. The event occurs before the user has decided on the new name. I'll try a few more things.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.