Autor Thema: Schaltfläche: Exceldateien mit Calc öffnen  (Gelesen 3158 mal)

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Schaltfläche: Exceldateien mit Calc öffnen
« am: 02.04.09 - 12:29:39 »
Hallo Ihr lieben Noteskolleginnen und -kollegen,

ich habe folgendes Problem und würde mich sehr freuen, wenn Ihr mir mal wieder helfen könnt:

Ich möchte mit einer Schaltfläche eine Exceldatei öffnen. In der Schaltfläche habe ich folgendes LS eingebaut:

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim thisDoc As NotesDocument
   Set uidoc = workspace.CurrentDocument
   Set thisDoc = workspace.CurrentDocument.Document
   Set x1=CreateObject("Excel.Application")
   x1.Application.Workbooks.Open thisdoc.Exceldatei
   x1.application.visible=True

Wobei die Variable Exceldatei den Pfad und die Datei enthält.

Ist auf dem Rechner Excel installiert funktioniert das alles wunderbar. :)

Ist auf dem Rechner aber OpenOffice installiert und kein Excel erhalte ich die Fehlermeldung:
"Cannot create automationobject".

Ist ja auch klar. Er soll ja auch konkret Excel öffnen.  Kann ich dort irgendeinen Befehl eingeben, dass er Calc nimmt, wenn Excel nicht installiert ist?  ???

Im voraus vielen Dank für Eure Hilfe.

Johann
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #1 am: 02.04.09 - 12:48:25 »
OO.org musst Du ähnlich aber anders ansprechen (UNO via COM). Da hilft nur eine If-Bedingung.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #2 am: 02.04.09 - 15:10:59 »
Hallo m3,

erstmal vielen Dank für die schnelle Antwort.

Ich bin jetzt etwas weitergekommen. Mit

   Set SM=CreateObject("com.sun.star.ServiceManager")
   Set Desktop=SM.createInstance("com.sun.star.frame.Desktop")
   Dim args()
   Set CalcApplication=Desktop.loadComponentFromURL("private:factory/scalc","_blank",0,args)

kann ich eine leere Tabelle in Calc öffnen.  :)

Ich möchte aber keine neue leere Tabelle öffnen, sondern eine bereits bestehende.  ???

Hat vielleicht noch einer einen Tip?

Vielen Dank im voraus.

Johann
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #3 am: 02.04.09 - 15:31:21 »
Zitat
The loadComponentFromURL() method of the Desktop object can open a document. To do so, you must pass the URL of a document. In OOo Basic, here is an example...
Code
oDoc = StarDesktop.loadComponentFromURL( "file:///home/danny/Desktop/MyDoc.sxd", "_blank", 0, Array() )

Open and Create documents, various prog. languages

(man beachte die URL, die geöffnet wird)

HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #4 am: 02.04.09 - 18:53:47 »
Ich würde das in etwa so machen. Leider weiss ich den ErrorCode in Err nicht, der auftritt wenn Excel nicht instanziert werden kann. Musst du mal testen und dann xxx durch den Code ersetzen

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim thisDoc As NotesDocument
   Dim x1 As Variant

   Set uidoc = workspace.CurrentDocument
   Set thisDoc = workspace.CurrentDocument.Document

   On Error Resume Next

   Set x1=CreateObject("Excel.Application")
   If Err = ??? Then  '  Fehler tritt auf wenn Excel nicht installiert
     Err = 0
     ' Hier wird dann Calc angesprochen
     ...
   Else
     x1.Application.Workbooks.Open thisdoc.Exceldatei
     x1.application.visible=True
     ...
   End If

Das Thema OpenOffice hatten wir hier auch schon ein paarmal, u.a. hier http://atnotes.de/index.php/topic,43334.0.html.

Vielleicht bringt dich das weiter.

Axel

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

Offline Big768

  • Aktives Mitglied
  • ***
  • Beiträge: 164
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #5 am: 03.04.09 - 10:56:12 »
Here is the Result of the Jury:

Set CalcApplication=Desktop.loadComponentFromURL("file:///C:/Test.ods","_blank",0,args)

Vielen Dank für Eure Mithilfe.

Wäre nett, wenn mir noch jemand sagen könnte, wie man an die Errormeldung gelangt, wenn Excel oder Calc nicht gefunden wird.

Danke und schönes Wochenende.

Johann
Server 7.0.3 und 8.5.1, Client 7.0.3 bis 8.5.3

Die Politik ist nicht Opfer der Staatsverschuldung, sie ist Täter.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Schaltfläche: Exceldateien mit Calc öffnen
« Antwort #6 am: 03.04.09 - 11:49:12 »
Entweder du fängst die Fehlermeldung ab (on error ....) oder du schaust in der Registry nach, da kann man erkennen ob Excel und in welcher Version installiert ist
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz