Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Aus Access Textmarken in Word Textfeldern aufrufen





Frage

Guten Tag miteinander, damit die Betreff-Zeile in einem Geschäftsbrief unabhängig von der Zeilenzahl der Anschrift immer an derselben Stelle steht, habe ich feste Textfelder auf dem Worddokument eingerichtet. Nun findet Access leider nur noch die Textmarken außerhalb der Textfelder um per VBA Anschrift, Betreff und Anrede zu übertragen. Kann ich per Code auch Textmarken in Textfeldern anspringen oder hat jemand eine Lösung ganz ohne Textfelder? Herzlichen Dank und Gruß Conny

Antwort 1 von struppi

Hi conny
Ich füge selber in folgendem doc Feldinhalte aus access ein.
Aus Zeitgründen kopiere ich das nur zur Anschauung mal hier rein.
Laß Dich durch das ganze Beiwerk nicht aus der Ruhe bringen. Wichtig ist nur der Teil wo die Textfelder über ihren Index angesprungen werden.
ActiveDocument.Shapes(10).TextFrame.TextRange = Zeichen
.ActiveDocument.Shapes(3).TextFrame.TextRange = Adresse
.ActiveDocument.Shapes(9).TextFrame.TextRange = Fax
.ActiveDocument.Shapes(8).TextFrame.TextRange = Anrede
.ActiveDocument.Shapes(7).TextFrame.TextRange = .Selection.Paste ′Betreff

---------------------------------------
Hier der vollständige code:
---------------------------------------

Dim Word As Word.Application, Adresse, Anrede, Fax, Betreff, Zeichen, Izeichen, Datum, enter As Variant
Set Word = CreateObject("Word.Application")
enter = Chr(13) & Chr(10)

If Word Is Nothing Then
MsgBox "Konnte keine Verbindung zu Word herstellen!", 16, "Problem"
Exit Sub
End If
If Not open_FormAD Is Nothing Then
   With open_FormAD
 Adresse = .NameFirma & " " & .Vorname & enter
 Adresse = Adresse & .Adresszeile1 + enter
 Adresse = Adresse & .Adresszeile2 + enter
 Adresse = Adresse & .Ort + enter
 Adresse = Adresse & .PLZ + enter
 Fax = IIf(IsNull(Me.Vorwahl) = True, "", Me.Vorwahl) & IIf(IsNull(Me.Fax_Nummer) = True, "", Me.Fax_Nummer)
 Anrede = IIf(IsNull(Me.Anrede) = True, "", Me.Anrede) & " " & IIf(IsNull(Me.Ansprechpartner) = True, "Sehr geehrte Damen und Herren", Me.Ansprechpartner)
 
    End With
End If
With Forms![Adressen]![ComVerbindung]![Briefe].Form!
Betreff = IIf(IsNull(.Betreff.Value) = True, "", .Betreff.Value)
Izeichen = IIf(IsNull(.Izeichen.Value) = True, "?", .Izeichen.Value)

Zeichen = .Izeichen & LZeichen(33 - Len(Izeichen)) & .MZeichen.Value _
& "                                                                             " & .Datum.Value
Datum = .Datum.Value
End With
With Word
 .Visible = True
 .Width = 800
 .Height = 600
 
 .Documents.Add "D:\Programme\Microsoft Office\Vorlagen\Brief.dot"
 .ActiveWindow.ActivePane.View.Type = wdPageView
 
 ′*******************************************************************************
 ′View    Gibt den Typ der Ansicht zurück oder legt ihn fest.
 ′Dabei kann es sich um eine der folgenden WdViewType-Konstanten handeln:
 ′wdMasterView
 ′wdNormalView
 ′wdOnlineView
 ′wdOutlineView
 ′wdPageView                                   SEITENLAYAUT
 ′wdPrintPreview. Long Schreib-Lese-Zugriff.
 ′********************************************************************************
 With .Selection.Font ′schrift auswählen
                 .Name = "Arial"
                 .Size = 12
                 .Bold = False
                 End With
.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
.ActiveDocument.Shapes(10).TextFrame.TextRange = Zeichen
.ActiveDocument.Shapes(3).TextFrame.TextRange = Adresse
.ActiveDocument.Shapes(9).TextFrame.TextRange = Fax
.ActiveDocument.Shapes(8).TextFrame.TextRange = Anrede
.ActiveDocument.Shapes(7).TextFrame.TextRange = .Selection.Paste    ′Betreff

′****ANSICHT EINSTELLEN******************************
.Activate
.WindowState = wdWindowStateMaximize
.Selection.MoveDown Unit:=wdScreen, Count:=2
.Selection.TypeParagraph
.ActiveWindow.ActivePane.VerticalPercentScrolled = 13
End With

End Sub




Antwort 2 von conny

Guten Morgen,

besten Dank an Struppi! Ich habe noch eine einfachere Lösung gefunden: die Textfelder verwandele ich in Positionsrahmen und schon lassen sich die Textmarken wie gewohnt von Access anspringen.

conny


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: