[gelöst] Microsoft Word 11.0 OL + TextFields + HeaderFooter

Bild Speziell fĂĽr Probleme der Office-Integration in die Dynamics Produkte

[gelöst] Microsoft Word 11.0 OL + TextFields + HeaderFooter

Beitragvon prassl » 22. Mai 2006 12:49

Hallo liebe Mitstreiter :-)

ich versuche schon seit längerem gute Dokumentation zur MS Word 11.0 Object Library zu finden, da ich sie mit Automation in NAV 4.0 SP 1 einsetzen muss. - bin für jeden Vorschlag dankbar :-)

Hat es ausserdem jemand von euch geschafft ein Textfeld innerhalb eines Word Dokuments aus NAV heraus anzusprechen, z.B. dynamisch zu befĂĽllen ?

(Leider funktioniert hier nur dieser Weg, Smarttags und die Erstellung "auf Office-Seite" kann ich leider nicht als Lösungsweg verwenden... :-( )

danke im vorhinein fĂĽr eure Hilfe
cheers,
PM :-)
Zuletzt geändert von prassl am 26. Mai 2006 10:16, insgesamt 1-mal geändert.
Benutzeravatar
prassl
 
Beiträge: 14
Registriert: 11. April 2006 12:36
Wohnort: Graz

Beitragvon martinst » 22. Mai 2006 14:09

Hallo

Verstehe ich Deine Frage richtig?
Du willst ein Textfeld in einer Vorlage (*.dot) mit dem Namen ansprechen?

Gruss
martinst
 
Beiträge: 621
Registriert: 24. August 2005 18:27
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.x, 3.x, 4.x, 5.x, 2009

Beitragvon prassl » 22. Mai 2006 14:57

richtig :-)
zuerst muesste ich allerdings dahinter kommen, wie man Textfelder in Word benennt ... :-(

ausserdem befinden sich 2 meiner Textfelder innerhalb der Kopfzeile des Dokuments, welche ich (noch nicht) ansprechen kann...

lg
M.
Benutzeravatar
prassl
 
Beiträge: 14
Registriert: 11. April 2006 12:36
Wohnort: Graz

Beitragvon martinst » 22. Mai 2006 15:12

Aha.

Ich bin mir nicht sicher, ob wir das gleiche meinen.
- Word öffnen
- Datei -> Neu
- EinfĂĽgen -> Feld
- Dann die Schaltfläche Formeln anklicken
- Dann Formel =Kundenname (Beispiel)

Das Feld Kundenname kann man dann mit Automation aus Navision ansprechen und fĂĽllen.
Meinst Du das?

Gruss
martinst
 
Beiträge: 621
Registriert: 24. August 2005 18:27
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.x, 3.x, 4.x, 5.x, 2009

Beitragvon prassl » 22. Mai 2006 15:56

ah, ja - das wars. danke ! :-)
nun bleiben nur noch 2 Probleme:
1. wie spreche ich dieses Textfeld (namens Angebot) nun an ?
2. wie spreche ich ein Textfeld an, welches sich in der Kopfzeile des Dokumentes befindet ?

danke erstmals fĂĽr die Hilfe
cheers, m.
++ Real programmers do not put comments in their code. It was hard to write, so it should be hard to read also ++
Benutzeravatar
prassl
 
Beiträge: 14
Registriert: 11. April 2006 12:36
Wohnort: Graz

Beitragvon martinst » 22. Mai 2006 16:29

Aha.
Also zu 100%Prozent kann ich Dir nicht helfen, da ich nicht weiss wie man TextFelder in der Kopfzeile abfĂĽllt. :cry:

Unter Financials habe ich das mal so gemacht:
Der Automation-Profi bin ich auch nicht, aber vielleicht hilfts.

Die Funktion FieldTransfer kann ich dann mit den Parametern Feldname, Feldinhalt aufrufen.
Achtung:
Der Feldinhalt muss mit Format in einen Text gecastet werden.

Code: Alles auswählen
Function FieldTransfer(_FieldName : Text[30];_FieldValue : Text[50])
local Var:
WordFields 'Microsoft Word 11.0 Object Library'.Fields
WordField 'Microsoft Word 11.0 Object Library'.Field
WordRange2 'Microsoft Word 11.0 Object Library'.Range
i integer
ExistsFieldName Text 30
Total Integer

CLEAR(WordFields);

WordFields := WordApp.ActiveDocument.Fields;

IF ISCLEAR(WordFields) THEN
  EXIT;

Total := WordFields.Count;
FOR i := 1 TO Total DO BEGIN
  WordField := WordFields.Item(i);
  WordRange := WordField.Result;
  WordRange2 := WordField.Code;

  ExistsFieldName := UPPERCASE(WordRange2.Text);
  ExistsFieldName := DELCHR(ExistsFieldName, '<', ' ');
  ExistsFieldName := DELCHR(ExistsFieldName, '>', ' ');

  IF ExistsFieldName = UPPERCASE(_FieldName) THEN begin
    WordRange.Text := _FieldValue;
    exit;
  END;
END;

Gruss
martinst
 
Beiträge: 621
Registriert: 24. August 2005 18:27
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.x, 3.x, 4.x, 5.x, 2009

Re: Microsoft Word 11.0 Object Library + Text Fields

Beitragvon Timo Lässer » 22. Mai 2006 19:16

prassl hat geschrieben:[...]
ich versuche schon seit längerem gute Dokumentation zur MS Word 11.0 Object Library zu finden, da ich sie mit Automation in NAV 4.0 SP 1 einsetzen muss. - bin für jeden Vorschlag dankbar :-)
[...]

Hier ein weiterer Vorschlag, wo du die wohl umfangreichste Dokumentation finden wirst:
MSDN Home > MSDN Library > Office Solutions Development > Word 2003
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Beitragvon prassl » 23. Mai 2006 09:30

wunderbar, danke vielmals martinst und Timo !
die MSDN Developer Homepage habe ich natĂĽrlich dafĂĽr schon durchforstet - die Textfelder sind klar - vielen Dank fĂĽr die Hilfe -

hier nun auch die Lösung für den Zugriff auf die Kopf- und Fußzeilen via Automation:

Code: Alles auswählen
// Ansicht wechseln, zur Kopf/Fusszeilenansicht
Winword.ActiveWindow.ActivePane.View.Seekview := 9;
Selection.TypeText('This is some Header Text');
// und zur Hauptansicht des Dokuments zurĂĽckkehren
Winword.ActiveWindow.ActivePane.View.Seekview := 0;


0 and 9 sind die internen Werte der Variablen "wdSeekCurrentPageHeader" and "wdSeekPrintview", auf diese kann aus NAV heraus nicht zugegriffen werden, sie direkt ĂĽber Ihren Wert anzusprechen funktioniert jedoch.

cheers, m.
Benutzeravatar
prassl
 
Beiträge: 14
Registriert: 11. April 2006 12:36
Wohnort: Graz


ZurĂĽck zu Microsoft Office

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast