SoftMaker.de

Deutschsprachiges Diskussionsforum
Aktuelle Zeit: 26.05.2013 03:55:32

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 21.09.2008 18:33:39 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 23.02.2007 08:37:26
Beiträge: 2940
Ich bin ein bisschen eingerostet, was diesen OLE-Kram betrifft...

Gibt es eine Möglichkeit, den Pfad auszulesen, in dem sich das aktuell gestartete BM-Skript befindet? CurDir() landet immer im Verzeichnis der Anwendung und da will ich nicht hin, denn die einzulesende Datei liegt im gleichen Verzeichnis wie das Skript und einen absoluten Verweis kann ich nicht gebrauchen... Ideen?


Nach oben
 Profil  
 
BeitragVerfasst: 22.09.2008 02:03:59 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 27.08.2008 21:05:27
Beiträge: 250
Wohnort: Wiesbaden
Ja, die guten alten DOS Zeiten... Die einzige Krücke die mir einfällt ist, das Skript mittels einer Stapelverarbeitungsdatei (z. B. MySkriptStarter.bat), in demselben Verzeichnis wie das Skript, zu starten.
Inhalt der MySkriptStarter.bat:
Code:
dir > %TEMP%\dir.txt
MySkript.bas
Die erste Zeile erstellt im Windows Temp-Verzeichnis die Datei "dir.txt". Darin steht, in der 4. Zeile, das gesuchte Verzeichnis:
Code:
Datentr„ger in Laufwerk E: ist Daten
Volumeseriennummer: 54E9-F3F4

Verzeichnis von E:\Arick\SoftMaker\_Skripte\InArbeit
Umlaute werden bei mir falsch dargestellt! (lässt sich aber im Skript korrigieren)
Die zweite Zeile in MySkriptStarter.bat ist optional. Sie öffnet das Skript in BM, sofern BM die Standardanwend. für .bas Dateien ist. Mir sind keine Startparameter für BM bekannt, evtl. kann man die obige Befehlzeile so ändern, dass BM das Skript gleich startet. Sonst weglassen, und einfach aus SMO heraus das Skript starten.

Das laufende Skript wiederum kann die "%TEMP%\dir.txt" öffnen, den Pfad heraussuchen, und ihn in einer Variablen speichern. Danach könnte es auch ganz Windows-untypisch aufräumen, die Datei "%TEMP%\dir.txt" wieder löschen.

_________________
SMO rev. 670 + Win XP                    Times without money are better than times without Mini - the original ;)


Nach oben
 Profil  
 
BeitragVerfasst: 22.09.2008 07:18:26 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 23.02.2007 08:37:26
Beiträge: 2940
Hmmm... Einfacher, als "dir", wäre ein "cd" umzuleiten. Das bringt das Verzeichnis direkt an die erste Stelle. Allerdings ist das irgendwie keine wirklich glückliche Lösung... :-/

Hallo SoftMaker? Wie sieht es mit "schönen" Lösungen aus? Wenn das Skript portabel sein soll und auf externe Quellen zugreifen soll, dann fehlt so etwas irgendwie...

Oder gibt es die Möglichkeit per OLE die aktuelle Datei aus dem BM auszulesen? Ähnlich wie beim TM?

Wenn gar nix geht, dann muss es halt irgendwie wieder MS-DOS werden... Aber wirklich gefallen tut es mir nicht... :-(


Nach oben
 Profil  
 
BeitragVerfasst: 22.09.2008 13:01:10 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 23.02.2007 08:37:26
Beiträge: 2940
HEUREKA!

Alles nicht dokumentiert, aber es geht doch...

BM selbst ist auch brav OLE-Server.... Und schon kann man mit dem Skript

Code:
Dim dm as Object
Set dm = CreateObject("BasicMaker.Application")
dm.Application.Visible = True

print dm.Application.ActiveDocument.Path


Den Pfad des aktiven Dokument auslesen, der natürlich beim Start auch gleich dem aktuell ausgeführten Skript ist...

(Ich will gar nicht wissen, was nicht noch alles an undokumentierten Funktionen im Untergrund schlummert)...


Nach oben
 Profil  
 
BeitragVerfasst: 23.09.2008 08:15:38 
pbk hat geschrieben:
(Ich will gar nicht wissen, was nicht noch alles an undokumentierten Funktionen im Untergrund schlummert)...

Erm. Da möchte ich doch ungern Zustimmung äußern. :wink:


Nach oben
  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de