Autor Thema: Zugriff auf andere Programme von Notes  (Gelesen 2217 mal)

cubetoon

  • Gast
Zugriff auf andere Programme von Notes
« am: 16.03.05 - 22:52:59 »
Hallo Forum,
habe mir jetzt seit mindestens einer Stunde die Augen müde gesucht und wahrlich wieder eine Menge Erkenntnisse gesammelt. Leider reicht es noch nicht um diese auch zur Umsetzung zu bringen.

Ich möchte von Notes aus auf ein weiteres Programm via OLE zugreifen - denke ich zumindest, dass das der richtige Weg ist. Kenne dies von Visual Basic indem man dort zum Beispiel die Typenbibliothek einbindet um die Eigenschaften und Methoden der Klassen ansprechen zu können?

Wie funktioniert dies prinzipiell unter Notes/LotusScript - gibt es dort auch diese Art von Verweisen wenn ja wo?

Gefunden habe ich bis jetzt einiges wie z.B. hier

http://www.atnotes.de/index.php?topic=20207.0

das hat mich deutlich weiter gebracht

http://www.atnotes.de/index.php?topic=8934.0

und das auch

http://www.atnotes.de/index.php?topic=10247.0

dann hab ich versucht zum testen einfach mal Word fernzusteuern. Weiter als hier kam ich nicht.

Sub Click(Source As Button)
   
   Dim myword As Variant
   Set myword = getobject("Word.Application.9")
   
End Sub


Leut'z, wie macht Ihr das nur. Ich kann mir vorstellen, dass maximal 3 Zeilen Code fehlen um z.B. Word mit einer bestimmten Datei zu öffnen. Könnt Ihr mir ein kleines Beispiel geben - daraus kann ich für gewöhnlich den Rest ableiten.

Vielen Dank und gute Nacht,
cubetoon

« Letzte Änderung: 18.03.05 - 10:14:48 von cubetoon »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Zugriff auf andere Programme von Notes
« Antwort #1 am: 16.03.05 - 23:04:54 »
Wenn Du Dir leicht mit Beispielen tust:
http://www.atnotes.de/index.php?topic=15203.0

Dort hast Du Sourcecode. Es wird MS Excel geöffnet und Zellen werden entsprechend gefüllt.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Zugriff auf andere Programme von Notes
« Antwort #2 am: 17.03.05 - 00:15:24 »
... du hast den richtigen Ansatz schon gefunden...
Code
Sub Click(Source As Button)
   
   Dim myword As Variant
   Set myword = getobject("Word.Application.9")
   
End Sub

... damit hast du Word schon mal.

Als Tip: wenn du ins Entwickler-Forum bei IBM gehst und als Suchbegriff "Word" eingibst, oder bei Eknori in der Schatzkiste zu stöbern beginnst findest du nicht nur wie man eine Word-Datei öffnet, sondern auch noch vieles mehr...

ata
Grüßle Toni :)

cubetoon

  • Gast
Re: Zugriff auf andere Programme von Notes
« Antwort #3 am: 17.03.05 - 07:27:45 »
Vielen Dank,
das sollte mehr als ausreichen um über den Tag zu kommen.
Vermute mal, dass meine Anwendung zu spezifisch wird - bei mir geht es in dem Falle um den Zugriff auf Cobra Adress Plus - falls das jemand kennt :-) - sollte es dennoch jemanden interessieren, kann ich den (hoffentlich) entstehenden Code gern posten!
wünsche einen schönen Frühlingstag,
cubetoon

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Zugriff auf andere Programme von Notes
« Antwort #4 am: 17.03.05 - 08:01:26 »
Hi,

das Teil kenne ich, allerdings nicht mehr in der aktuellen Version.

Wenn ich mich recht erinnere, habe ich damals schon über die COM-Schnittstelle (damals hieß das noch OLE) von Word aus auf Cobra zugegriffen und eine Adresssuche mit anschließender Übernahme in Dokument gemacht.

Beispiele und eine gute Tipps erhilet ich damals von der Hotline. Ruf doch einfach mal an.  ;)

Ich denke mal, dass der Zugriff über COM heute auch noch möglich ist. Wie man sowas macht kannst du dir beispielhaft in den geposteten Link anschauen.

Ansonsten, wenn du Hilfe brauchst, du weißt ja wo du die findest.  :D

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

cubetoon

  • Gast
Re: Zugriff auf andere Programme von Notes
« Antwort #5 am: 17.03.05 - 08:33:02 »
Der Zugriff via VBA läuft schon! Habe mir nur den Kopf zerbrochen, wie ich in Notes die Typenbibliothek importieren soll ... aber die scheint ja wirklich "nur" optional zu sein - zumindest in diesem Fall!

Das klappt wunderbar, ich bin begeistert:

Sub Click(Source As Button)
   Dim vCobra As Variant
   Dim vCobraData As Variant
   Dim vCobraTable As Variant
   
'   On Error Resume Next
'   Set vCobra = GetObject("AdressPlus.Application.10") ' use Cobra application if started
'   On Error Goto 0
   
'   If vCobra Is Nothing Then
   Set  vCobra = CreateObject("AdressPlus.Application.10") ' Otherwise open it
'   End If
   
   If vCobra Is Nothing Then
      Messagebox "Kein Zugriff auf Adres Plus möglich."
   End If
   
   vCobra.Login "excel", ""
   Set vCobraData = vCobra.CurrentDB
   If Not (vCobraData Is Nothing) Then
      Set vCobraTable = vCobraData.Tables("Adressen")
      vCobraTable.Fields ("Bank").ValueString = "Deutsche Bank Stuttgart"   
   End If
   
End Sub

Nun bleibt nur noch das Problem, dass ich auf die (bereits geöffnete) Application via GetObject nicht zugreifen kann (siehe REM im oberen Quellcode). Vermute mal die Ursache darin, dass vCobra as Variant und nicht Object definiert ist. Die Definition als Object lässt Notes aber irgendwie nicht zu ...
Wenn ich jedoch CreateObject nutze wird Cobra (logischerweise) mit End Sub entladen  ???
Gibt es da einen Trick eine Variable als Object zu declarieren? In den (echt tollen) Beispielen nutzt Ihr ja auch stets Variant!

<edit> ... okay, habe kapiert, geht nicht mit den Objekten ... nur gibt es einen andern Trick auf bereits geöffnete Applikationen zuzugreifen ohne Sie am ande wieder zu schliessen?</edit>

cubetoon

« Letzte Änderung: 17.03.05 - 08:43:03 von cubetoon »

cubetoon

  • Gast
Re: Zugriff auf andere Programme von Notes
« Antwort #6 am: 17.03.05 - 09:04:36 »
Sorry, der Esel bin ich wenn man die Funktionen richtig nutzt, funktioniert es auch!

GetObject("","AdressPlus.Application.10")

Läuft jetzt alles perfekt - die Funktionen arbeiten wie in der Cobra-Doku beschrieben.

Vielen Dank für Eure Anregungen!
« Letzte Änderung: 18.03.05 - 10:14:37 von cubetoon »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz