Hallo Paul,
eine direkten Weg mit OOo-Basic eine LW-Bezeichnung zu lesen oder zu schreiben kenne ich nicht.
Man kann es aber z.B. über eine Batch-Datei die man mit Basic beschreibt lösen.
Ist aber doch besser als nix. Oder?
Erstelle Dir mit einem Texteditor eine leere Datei mit dem Namen "Label.bat" und lege diese z.B auf dem Desktop ab.
(Direkt unter "C:" funktioniert bei mir komischerweise nicht.)
Mit folgendem Code kannst Du dann die Batchdatei beschreiben und diese wird dann auch direkt ausgeführt:
Code: Alles auswählen
Sub Disk_Label_schreiben
aFile = "C:/Dokumente und Einstellungen/Juergen/Desktop/Label.bat" 'Pfad zur BAT-Datei
bFile = converttoURL(aFile)
iNumber = Freefile
newLabel = "MYLABEL" 'Neuer Name für LW
Open bFile For Output As #iNumber
'BAT_Datei schreiben
Print #iNumber, "CD \"
Print #iNumber, "LABEL E: " & newLabel 'Laufwerksbuchstaben anpassen!!
Print #iNumber, "EXIT"
Close #iNumber
oSer = createUNOService("com.sun.star.system.SystemShellExecute")
oSer.execute(aFile,0,0)'BAT-Datei ausführen
End Sub
Das Auslesen könnte man über die Registry realisieren:
Code: Alles auswählen
Sub Disk_Label_lesen
GlobalScope.BasicLibraries.LoadLibrary("ImportWizard")
'Pfad anpassen
sTemplateKeyName = "Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\{cf49ef11-462b-11dd-9a20-806d6172696f}"
sTemplateValueName = "_LabelFromReg"
HD_Label = QueryValue(HKEY_CURRENT_USER, sTemplateKeyName, sTemplateValueName)
msgbox "HD Label= " & HD_Label
End Sub
Du musst "nur" den Richtigen Pfad im
finden, der bei mir z.B so lautete:
Ist das ein Lösungsansatz?
Garfield
Edit: Eventuell kann die Deine Firewall das Ausführen der BAT-Datei unterdrücken. Also die FW entsprechend einstellen!!!