[Gelöst] Dokumente aus Attain heraus öffnen und schließen

Bild Fragen zu Integrationsproblemen anderer Programme in die Microsoft Dynamics Produkte

[Gelöst] Dokumente aus Attain heraus öffnen und schließen

Beitragvon mespelage » 26. September 2006 13:22

Ich öffne aus Attain heraus z.B. ein *.pdf dokument mit "Hyperlink". So weit so gut. Ist es möglich dieses Dokument auch wieder aus Attain zu schließen? Welche Automationserver müsste ich da wählen, oder bin ich auf dem falschen Weg?
Kann mir jemand helfen?

mfg Michael
Zuletzt geändert von mespelage am 27. September 2006 14:20, insgesamt 1-mal geändert.
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Kowa » 26. September 2006 14:18

FĂĽr den Automation Server "Adobe Acrobat 7.0 Type Library" gibt es die Class "AcroApp" mit den Methoden Hide, Exit, CloseAllDocs usw. Einfach mal ausprobieren.
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Beitragvon mespelage » 26. September 2006 14:37

@@KOWA

Ich erhalte die Fehlermeldung: FĂĽr den Automationserver.... konnte keine Instanz erstellt werden.

Code: Alles auswählen

A_Process Automation 'Adobe Acrobat 7.0 Type Library'.AcroApp   

CREATE(A_Process);
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Kowa » 26. September 2006 19:40

Eventuell muss die dll-Datei neu registriert werden. Das geht über Extras/Custom Controls => hier das Control "Adobe PDF Reader"auswählen und unten auf "Reregister"

Infos zur den Methoden etc. und Codebeispiele fĂĽr andere Sprachen :
Adobe Interapplication Communication Overview
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Beitragvon mikka » 27. September 2006 07:32

Hallo,
das Thema mit den PDF´s finde ich auch sehr interessant.
Allerdings habe ich bei der Recherche bei MIBUSO einen Beitrag gelesen, das es nur mit der Vollversion funktionieren wĂĽrde (zumindest beim Drucken aus Navision heraus), ist evtl. bei dieser Problematik auch was dran?

Leider habe ich die Links zu den Beiträgen nicht mehr zur Hand. Ich hatte nach "adobe Automation" bei MIBUSO gesucht.

GruĂź Mikka
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Beitragvon mespelage » 27. September 2006 14:20

Es ist definitiv so, dass der Automationserver bei der freien Version von AcrobatReader 7.0 nicht funktioniert. Ich habe es mit der Vollversion (Trialversion) versucht, und siehe da, es funktioniert.

Dank an alle

Michael
mespelage
 
Beiträge: 213
Registriert: 29. März 2006 11:56
Wohnort: Lohne
Realer Name: Michael Espelage
Arbeitsort: Steinfeld
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2015

Beitragvon Michael Schumacher » 27. September 2006 20:21

mikka hat geschrieben:das Thema mit den PDF´s [...], dass es nur mit der Vollversion funktionieren würde (zumindest beim Drucken aus Navision heraus), ist evtl. bei dieser Problematik auch was dran?

Das Drucken ist nicht das Problem, das geht ganz hervorragend mit der Shell-Automation, aufzurufen mit Printfile(<Dateiname mit Pfad>); (Funktionen siehe unten)
Sein Problem war das Schließen der Anwendung, nachdem es zur Ansicht geöffnet wurde.
Ăśbrigens,
bei den Meisten Anwendungen, nicht nur bei Acrobat, klappt das auf unten beschriebene weise, es geht immer dann, wenn im KontextmenĂĽ der Datei im Explorer ein Drucken oder Print zu finden ist.
In der Regel schließt sich die Anwendung danach selbständig wieder.

Funktion: Printfile(Filename : Text[250])
Code: Alles auswählen
CREATE(objShell);
IF NOT EXISTS(Filename) THEN EXIT;
SplitDirFile(Filename,Dir,File);
objFolder := objShell.NameSpace(Dir);
objFolderItems := objFolder.Items;
objFolderItem := objFolderItems.Item(File);
objVerbs := objFolderItem.Verbs;
i:=-1;
REPEAT
  i+=1;
  IF i<objVerbs.Count THEN
    objVerb := objVerbs.Item(i);
UNTIL (STRPOS(UPPERCASE(objVerb.Name),'PRINT')>0) OR (STRPOS(UPPERCASE(objVerb.Name),'DRUCKEN')>0) OR (i >=objVerbs.Count);

IF i<=objVerbs.Count THEN BEGIN
  objVerb.DoIt;
END ELSE
  ERROR(Text104, Filename);


Die nötigen Variablen:
Code: Alles auswählen
Name           DataType      Subtype
objShell       Automation   'Microsoft Shell Controls And Automation'.Shell   
objFolder      Automation   'Microsoft Shell Controls And Automation'.Folder   
objFolderItems Automation   'Microsoft Shell Controls And Automation'.FolderItems   
objFolderItem  Automation   'Microsoft Shell Controls And Automation'.FolderItem   
objVerbs       Automation   'Microsoft Shell Controls And Automation'.FolderItemVerbs   
objVerb        Automation   'Microsoft Shell Controls And Automation'.FolderItemVerb   
Dir            Text   250
File           Text   250
i              Integer      


Funktion: SplitDirFile(Filename : Text[250];VAR Dir : Text[250];VAR File : Text[250])
Code: Alles auswählen
Position:=0;
REPEAT
  temppos:=STRPOS(COPYSTR(Filename,Position+1),'\');
  Position+=temppos;
UNTIL temppos=0;
IF Position>0 THEN BEGIN
  Dir:=PADSTR(Filename,Position);
  File:=COPYSTR(Filename,Position+1);
END ELSE BEGIN
  Dir:='';
  File:=Filename;
END;



Und die Variablen:
Code: Alles auswählen
Name      DataType   
Position  Integer      
temppos   Integer      
mfg
Michael Schumacher


Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Hmmm, ach heut' ist Backup-Tag, also alles schnell nach /dev/nul sichern!
Benutzeravatar
Michael Schumacher
Ehrenmitglied
 
Beiträge: 1762
Registriert: 1. August 2005 11:12
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.x, 4.x, 5.x


ZurĂĽck zu Software-Integration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast