Imports Microsoft.Office.Interop.Word Public Class clsAllgFnkt Dim p_WDapp As Microsoft.Office.Interop.Word.Application Dim p_Passwort As String = "Australia" Public Function FormularAktualisieren(app As Object) p_WDapp = app On Error GoTo ErrHandler ' Variablen deklarieren ' ********************* Dim m_book1 As Bookmark Dim m_bookE As Bookmark Dim m_bookP As Bookmark Dim m_strName As String Dim m_range As Range Dim m_boolGeschuetzt As Boolean Dim m_FormField As FormField p_WDapp.Application.ScreenUpdating = False ' Dokumentschutz aufheben ' *********************** If p_WDapp.ActiveDocument.ProtectionType <> WdProtectionType.wdNoProtection Then p_WDapp.ActiveDocument.Unprotect(p_Passwort) m_boolGeschuetzt = True End If ' Textmarken suchen und Texte kopieren ' ************************************ For Each m_book1 In p_WDapp.ActiveDocument.Bookmarks If Mid(m_book1, 1, 10) = "BkmFormPos" Then p_WDapp.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, , , m_book1) p_WDapp.Selection.Copy() For Each m_bookE In p_WDapp.ActiveDocument.Bookmarks If m_bookE.ToString <> m_strName Then If Mid(m_bookE, 1, 10) = "BkmFormEin" Then If Mid(m_bookE, 11, 2) = Mid(m_book1, 11, 2) Then m_strName = m_bookE.Name p_WDapp.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, , , m_bookE) p_WDapp.Selection.MoveLeft(Microsoft.Office.Interop.Word.WdUnits.wdCharacter, 1, False) p_WDapp.Selection.Bookmarks.Add("BkmBeginn") p_WDapp.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, , , m_bookE) p_WDapp.Selection.Paste() p_WDapp.Selection.Bookmarks.Add("BkmEnde") m_range = p_WDapp.ActiveDocument.Range(p_WDapp.ActiveDocument.Bookmarks("BkmBeginn").Start, p_WDapp.ActiveDocument.Bookmarks("BkmEnde").End) p_WDapp.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, , , "BkmBeginn") m_range.Bookmarks.Add(m_strName) p_WDapp.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, , , m_strName) p_WDapp.Selection.Fields.Unlink() For Each m_FormField In p_WDapp.Selection.FormFields m_FormField.Enabled = False Next End If End If End If Next m_bookE End If Next m_book1 ' Textmarke setzen bereits erstellt ' ********************************* p_WDapp.Selection.HomeKey(Microsoft.Office.Interop.Word.WdUnits.wdStory) p_WDapp.Selection.NextField() ' Dokumentschutz einschalten ' ************************** If m_boolGeschuetzt = True Then p_WDapp.ActiveDocument.Protect(Microsoft.Office.Interop.Word.WdProtectionType.wdAllowOnlyFormFields, True, p_Passwort) End If p_WDapp.ActiveDocument.Fields.Update() p_WDapp.Application.ScreenUpdating = True Exit Function ErrHandler: MsgBox(Err.Description, vbCritical + vbOKOnly, "IDV-Portefeuille Makros") End Function End Class