Anspringen von Textmarken in Word (OLE)

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
24 Beiträge • Vorherige Seite 2 von 2 (current)
24 Beiträge Vorherige Seite 2 von 2 (current)

Beitrag von conmat ( / / 0 / 3 ) »
Hallo Jens,

hier das aufgezeichnete Makro:

' Makro6 Makro
' Makro aufgezeichnet am 08.11.04 von Mathis Conny
'
Selection.GoTo What:=wdGoToBookmark, Name:="EMAIL"
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "EMAIL"
.Replacement.Text = "cornelia"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.GoTo What:=wdGoToBookmark, Name:="Fax"
With Selection.Find
.Text = "FAX"
.Replacement.Text = "1234"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.Find.Execute
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
Selection.GoTo What:=wdGoToBookmark, Name:="TEL"
With Selection.Find
.Text = "TEL"
.Replacement.Text = "5678"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
End Sub

Gruß

Conny

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von conmat ( / / 0 / 3 ) »
Hallo Jens,
hab auf einem anderen Rechner bereits Office 2003
installieren lassen und auch da ausprobiert. Mit meinem Ursprungscoding hat es da auch nicht funktioniert. Hab jedoch die letzten Änderungen da nicht mehr ausprobiert.
Soll ich das Makro, da mal ablaufen lassen?

Gruß
Conny

Beitrag von Jens (Specialist / 106 / 0 / 0 ) »
Hallo Conny,

auf dem Rechner, wo Word2003 installiert ist, kannst Du da mal bitte das Coding von mir ausprobieren.

Code: Alles auswählen.

CREATE OBJECT h_word 'WORD.APPLICATION'. 
SET PROPERTY OF h_word 'Visible' = '1' . 

CALL METHOD OF h_word 'Documents' = docs. 

CALL METHOD OF docs 'Open' = doc 
EXPORTING #1 = 'c:\temp\test23.doc' . 

CALL METHOD OF h_word 'ActiveDocument' = o_activedoc. 
CALL METHOD of o_activedoc 'Activate'. 

call method of o_activedoc 'Content' = o_content. 
call method of o_content 'Find' = o_find. 

 CALL METHOD OF o_find 'Execute' 
       EXPORTING #01 = 'TEL' 
                 #02 = 1 
                 #03 = 1 
                 #04 = 0 
                 #05 = 0 
                 #06 = 0 
                 #07 = 0 
                 #08 = 0 
                 #09 = 0 
                 #10 = 'Hallo'. 

Das müßte dann problemlos funktionieren.
Das obige Coding erwartet im temp-Verzeichnis eine Datei 'test23.doc'. Entweder legst Du die an, oder aber Du änderst das Coding entsprechend ab.

Gruss,
Jens

Beitrag von conmat ( / / 0 / 3 ) »
Hallo Jens,

du bist ein Schatz. Es hat funktioniert sogar mit dem alten Word97. Das einzige Problem, daß ich jetzt noch habe, ist, daß er mich das .Dot-Formular öffnet
und mit Daten füllt. Ich hätte aber gerne, daß bereits beim Öffnen ein neuer Dokumentenname vergeben wird, sodaß mir niemand die Vorlage überschreibt. Mit meinem alten Coding war das die Methode 'FileNew'.Mit der funktioniert es allerdings wieder nicht mehr. Er öffnet mir dann nicht einmal mehr das Dokument. Vielleicht war auch das immer mein ursprüngliches Problem.
Wenn ich mit dem Dokumentenschutz arbeite kann ich die Daten aus dem SAP nicht mehr ins Word stellen, dann sperrt er mir bereits beim Aufruf die Vorlage. Hast du hier auch noch eine Idee?

Gruß

Conny

Beitrag von Jens (Specialist / 106 / 0 / 0 ) »
Hallo Conny,

Dankeschön :-). Gern geschehen.

Wenn Du ein neues Dokument öffnen willst, kannst Du das mit

Code: Alles auswählen.

call method of docs 'Add'.
anstatt der obigen Anweisung

Code: Alles auswählen.

CALL METHOD OF docs 'Open' = doc 
EXPORTING #1 = 'c:\temp\test23.doc' .
Gruss,
Jens

Beitrag von conmat ( / / 0 / 3 ) »
Funktioniert perfekt.
Nochmals vielen, vielen Dank.

Gruß
Conny

Beitrag von conmat ( / / 0 / 3 ) »
Hallo Jens,

mein Chef und ich sind der Meinung, daß wir dir als Dank eine Kleinigkeit zukommen lassen wollen.
Schicke mir doch deine Adresse an folgende Emailadresse: CONMAT@WEB.DE

Gruß

Conny

Beitrag von Burki ( / / 0 / 3 ) »
Hab damit auch grad Größte Probleme gehabt, jedoch hab ich's rausbekommen:

Unter früheren Patch-Leveln des SAP-GUI funktioniert:

Code: Alles auswählen.

  CALL METHOD OF H_WORD 'EDITGOTO'    " 'EDITGOTO'
    EXPORTING
      #1 = 
      #2 = 'textmarke'.
Ab 6.20 sollte diese Methode funktionieren:

Code: Alles auswählen.

* Zu einer Textmarke springen
    CALL METHOD OF H_WORD 'EDITBOOKMARK'
      EXPORTING
        #1 = 'textmarke'
        #2 = 0
        #3 = 0
        #4 = 0
        #5 = 1.

Beitrag von Gast ( / / 0 / 3 ) »
Burki hat geschrieben:Hab damit auch grad Größte Probleme gehabt, jedoch hab ich's rausbekommen:

Unter früheren Patch-Leveln des SAP-GUI funktioniert:

Code: Alles auswählen.

  CALL METHOD OF H_WORD 'EDITGOTO'  
    EXPORTING
      #1 = 'textmarke'.
Ab 6.20 sollte diese Methode funktionieren:

Code: Alles auswählen.

* Zu einer Textmarke springen
    CALL METHOD OF H_WORD 'EDITBOOKMARK'
      EXPORTING
        #1 = 'textmarke'
        #2 = 0
        #3 = 0
        #4 = 0
        #5 = 1.

Vergleichbare Themen

2
Antw.
2394
Views
Reiter in MM01/MM02 gezielt anspringen
von linde1000 » 26.10.2007 12:55 • Verfasst in Dialogprogrammierung
8
Antw.
3374
Views
OLE - Word-Datei
von Kerstin » 16.07.2008 11:38 • Verfasst in ABAP® Core
2
Antw.
2526
Views
Word in SAPGui
von Beni » 24.10.2005 11:03 • Verfasst in Dialogprogrammierung
2
Antw.
2272
Views
Word ruft SAP
von sapalot » 08.09.2005 20:14 • Verfasst in ABAP® Core
4
Antw.
3374
Views
ABAP und Word?
von ROL_ABAP » 13.12.2012 21:34 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

IF mit AND und OR
vor einer Woche von GastX 6 / 7199
Meine Inbox
vor einer Woche von Rabea1103 1 / 5190
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 6327
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 11770

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

IF mit AND und OR
vor einer Woche von GastX 6 / 7199
Meine Inbox
vor einer Woche von Rabea1103 1 / 5190
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 6327
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 11770