Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Catrex am 02.01.05 - 00:49:40
-
Hallo,
ich hätte mal eine Frage bzgl. des Exportes von Daten aus einer Ansicht per Notes Script. Bislang habe ich es immer so gemacht, dass per Script eine neue Exceldatei erzeugt wurde. Nun möchte ich aber den Export von bestimmten Daten in eine bereits vorhandene und vorformatierte Exceltabelle realisieren.
Es müsste doch eigentlich 2 Möglichkeiten geben das hinzubekommen. Zum einen kann man die fertige Tabelle der Datenbank in einem RT-Feld anfügen oder ich lege die Tabelle in einen bestimmten Ordner und öffne sie dort direkt. Nun weiss ich aber nicht wie ich diese Datei dann per Script öffnen kann.
Bislang habe ich das immer so gemacht:
Dim xlApp As Variant
Set xlApp = CreateObject("Excel.Application")
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
xlsheet.Name = "DB-Export"
Aber nun muss ich doch den Create-Befehl ersetzen und die Pfadangebae noch mit reinnehmen, oder ?
Wäre echt super wenn ihr mir weiterhelfen könntet.
mfg
Sebastian
-
Hallo Sebastian,
der Befehl heißt GetObject(filename,"Word.Document").
Du findest die Beschreibung in der Designer Hilfe.
Gruß Sascha
-
der Befehl heißt GetObject(filename,"Word.Document").
Gruß Sascha
Nachtrag:
es muss natürlich in deinem Fall lauten:
GetObject(filename,"Excel.Application")
Gruß Sascha
-
Das ist das eine, dass es Excel.Application heissen muss, das andere, mit dem GetObject wird ein OLE-Objekt geholt, das kann Sinn machen, ist aber leicht was anderes, als Sebastian gefragt hat.
Wenn die Datei im Filesystem liegt (oder von einem Attachement her ins FS gelöst wurde), dann geht es anders:
Dim xlApp As Variant
Set xlApp = CreateObject("Excel.Application")
Call xlApp.Workbooks.Open(Dateiname)
Die Designer-Hilfe hilft da allerdings nicht besonders weiter, wichtiger ist die Hilfe des Zielsystems, in diesem Falle Excel, bzw. ganz genau die in Excel implementierte Version von VBA
-
Wenn die Datei im Filesystem liegt (oder von einem Attachement her ins FS gelöst wurde), dann geht es anders:
Dim xlApp As Variant
Set xlApp = CreateObject("Excel.Application")
Call xlApp.Workbooks.Open(Dateiname)
Hallo,
ich wollte hier nun nochmals kurz anmerken, dass dieser Code ebenfalls zum gewünschten Ergebnis führen sollte.
Dim x As Variant
Set x = getobject(filename)
x.Application.Visible = True
x.Parent.Windows(1).Visible = True
Gruß Sascha
-
Hallo,
zunächst einmal möchte ich mich für die schnellen Antworten bedanken und mich enttschuldigen, dass ich nun erst antworte.
Ist es denn so, das für den Filename auch eine komplette Pfadangabe eingegeben werden kann ?
mfg
Seabstian !
-
Dort kannst Du nicht nur, Du sollst sogar die komplette Laufwerks-/Pfadangabe angeben - hierfür werden keinerlei Defaults oder PATH-Angaben ausgewertet.
HTH,
Bernhard
-
Ja das klappt nun auch wunderbar. Nur ein Problem habe ich noch.
Also der Export soll in eine fertige Exceltabelle stattfinden. Und dort wiederrum in das dritte Arbeitsblatt. Bislang bin ich sowet gekommen
Set xlApp = CreateObject("Excel.Application")
xlApp.visible = True
Call xlApp.Workbooks.Open("C:\.....\test.xls")
Set xlsheet = xlApp.Workbooks(1).Worksheets(3)
xlsheet.Name = "Notes Datenexport"
Dann macht er den Export auch in das dritte Blatt. Wunderbar. Zum Beispiel: xlsheet.Cells(rows,3).value = doc.feld_1l(0) Nur wie bekomme ich das hin, das er mir das dritte Blatt auch anzeigt ? Das muss ich ja auch noch auf "visible" setzen, oder ? Wenn ja wie ?
Weil wenn ich dann noch die Daten ein wenig weiter anpassen möchte bekomme ich eine Fehlermeldung:
Script: xlsheet.Cells.select
With xlApp.selection
.font.size = "12"
.font.name = "Arial"
.Columns.AutoFit
End With
Fehlermeldung: "Die Select-Methode des Range Befehls konnte nicht ausgeführt werden"
Das verstehe ich nicht so recht, und die Excel-Hilfe habe ich leider noch nciht installiert, muss mir erst die Cd von meinem Vater wieder besorgen und das nachholen :(
mfg
Sebastian
-
Ja, da hättest Du die Excel-Hilfe unbednigt früher installieren sollen, die wäre jetzt hier unbedingt gefragt.
Und wie Du irgend etwas erreichen kannst in Excel, kannst Du relativ einfach selber feststellen: Schalte in Excel den Makrorecorder an, führe die gewünschte Aktion durch, schalte den Recorder wieder ab und schau Dir das aufgezeichnete Makro an.
-
Ja danke. Hat mittlerweile schon geklappt und der Export läuft wie ich mir das erhofft habe. Also nochmal danke !
mfg
Sebastian ! ! !