Announcement

Collapse
No announcement yet.

Word2000 Document.SaveAs

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Word2000 Document.SaveAs

    Hallo Leute,

    ich generiere aus VB.NET heraus ein Word-Dokument, und möchte
    es anschließend automatisch abspeichern lassen. Der Code hier
    läuft mit den Word-Versionen XP, 2003, 2007 - aber aus irgendeinem
    Grund nicht mit Word2000.

    Ich hab schon alles mögliche versucht, aber er hängt sich immer bei der
    Zeile mit dem ".ActiveDocument.SaveAs(strSaveFile)" auf und erklärt mir,
    dass versucht wird in einen geschützen Speicherbereich zu schreiben.
    Die Ausgabe-Datei/Ordner kann nicht gemeint sein, weil dort sind
    Schreibrechte vorhanden (und mit den anderen Version klappts auch).

    Ich hoffe jemand von euch kann mir helfen - wäre sehr dankbar, hier der Code:
    Code:
        Public Sub Word_2000_Test()
            'Create a Word App
            Dim wordApp As New Microsoft.Office.Interop.Word.Application
            wordApp.Visible = False
    
             With wordApp
                .Documents.Add()
                Clipboard.SetText("Test-Eintrag", TextDataFormat.Text)
                wordApp.Selection.InsertParagraph()
                wordApp.Selection.Paste()
    
                Dim strSaveFile As String = "C:\test.doc"
                Try
                    If (strSaveFile <> String.Empty) And (Not (IsNothing(strSaveFile))) Then
                        .ActiveDocument.SaveAs(strSaveFile)
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
    
                .Visible = True
                .Activate()
            End With
    
            System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp)
        End Sub
    cheers,
    uquandux

  • #2
    Fixed !!!

    Lösung gefunden. Großer Dank geht an den
    Author (Kjell-Sverre Jerijærvi) folgender Website:

    http://kjellsj.blogspot.com/2005/08/...-2000-and.html


    Code:
                  If (strSaveFile <> String.Empty) And (Not (IsNothing(strSaveFile))) Then
                        Dim strVersion As String = wordApp.Application.Version
                        Dim oMissing As Object = System.Reflection.Missing.Value
    
                        If strVersion.StartsWith("9.") Then
                            Dim params As Object() = New Object() {strSaveFile, oMissing}
                            .ActiveDocument.GetType().InvokeMember("SaveAs", _
                             Reflection.BindingFlags.InvokeMethod, Nothing, _
                            .ActiveDocument, params)
                        Else
                            .ActiveDocument.SaveAs(strSaveFile)
                        End If

    Comment

    Working...
    X