best Ordner per Schalter öffnen gleicher Pfad wie Datenbank

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: best Ordner per Schalter öffnen gleicher Pfad wie Datenb

Beitrag von Stephan »

1.
Der Code ist nur für Windows tauglich, sofern das so sein soll wäre diesbezüglich nichts zu ändern.

2.
Ich persönlich würde den Zugriff auf das Makro "DirectoryNameoutofPath" in der Toolsbibliothek vermeiden, und das Ganze lieber gleich in meinem Makro machen, weil die Toolsbibliothek auch einmal fehlen kann, das ist aber mehr Ansichtssache als tatsächliches Optimierungspotential.


Gruß
Stephan
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: best Ordner per Schalter öffnen gleicher Pfad wie Datenb

Beitrag von DPunch »

Aloha

Zuallererst solltest solltest Du das Pfad-Trennzeichen nicht fest im Code codieren - Linux mit "/" gegen Windows mit "\".

Code: Alles auswählen

	sSubDirectoryName = "Vorgang"
	sPath = oDoc.Url
	sSeparator = GetPathSeparator()
	i = 0
	nLen = Len(sPath)
	Do While Mid(sPath,nLen-i,1) <> sSeparator
		i = i + 1
	Loop
	sDirectoryPath = Left(sPath,nLen-i)
	sFullPath = sDirectoryPath & sSubDirectoryName
	msgbox sFullPath
Zudem könnte der Shell-Aufruf (explorer) unter Linux Probleme bereiten - da kenne ich mich aber leider zu wenig aus, um Hilfestellung geben zu können.
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: best Ordner per Schalter öffnen gleicher Pfad wie Datenb

Beitrag von DPunch »

Aloha
clipnotic hat geschrieben:Ich erhalte aber eine Fehlermeldung bei folgender Zeile:
Die Fehlermeldung, die Du bekommst, kann ich leider nicht nachvollziehen.

Als Versuch könntest Du mal

Code: Alles auswählen

	i = 0
	nLen = Len(sPath)
	cTmp = Mid(sPath,nLen-i,1)
	Do While cTmp <> sSeparator
		i = i + 1
		cTmp = Mid(sPath,nLen-i,1)
	Loop
probieren, aber ich habe keine Ahnung, ob das hilft.
clipnotic hat geschrieben:Gibt es eine Möglichkeit, dass aktuell laufende Betriebssystem auszulesen, dann das Ergebnis in eine Variable zu packen
Ja.

Code: Alles auswählen

	i = GetGUIType
	Select Case i
		Case 1: MsgBox "Windows"
		Case 4: MsgBox "UNIX"
	End Select
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: best Ordner per Schalter öffnen gleicher Pfad wie Datenb

Beitrag von DPunch »

clipnotic hat geschrieben:wenn ich den Code nun so ändere, erscheint die gleiche Fehlermeldung in dieser Zeile
Die Fehlermeldung kann ich nur nachstellen, wenn sPath ein Leerstring ist, ansonsten funktioniert das wunderbar unter OOo 3.2 und WinXP.
Kann Dir in dieser Hinsicht also leider nicht weiterhelfen.
Antworten