Speicherpfad für Makros

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Speicherpfad für Makros

Re: Speicherpfad für Makros

von Stephan » Di, 12.01.2010 14:33

und deine geduldige Hilfe
die wenig belohnt wird ... BITTE denke doch selbst etwas mit
Die Lösung mit den Makros ist mir in der Tat zu pflegebedürftig. Wie Du ja schon schreibst, wird der Aufwand irgendwann zu groß.
Ja, wahrscheinlich habe ich da geschrieben, aber doch etwas Anderes gemeint, was auch irgendwie zu erkennen sein sollte, in Kürze:

*ICH HABE KEINE ZEIT, abe will trotzdem helfen
*ich kenne nicht den genauen manuellen Eintrag der nötig ist
*vermutend das es wohl schneller geht diesen Eintrag per Makro herauszufinden statt im INternet hezielt danach zu suchen, empfahl ich das Makro - NICHT jedoch darum um Dir zu sagen Du solltest erwägen zukünftig die Einträge per Makro zu machen

Meine Hoffnung war das Du, da ich ja dden Ansatz nun bereits gepostet hatte (den Code) Du den Rest selbst herausfindest, WEKIL ICH KEINE ZEIT HABE!

Ich habs nun lieber selber gemacht damit wir irgendwann mal mit dem Thema fertig werden.

Unter Verwendung von:

Code: Alles auswählen

Sub Main
path=createunoservice("com.sun.star.util.PathSettings")
'Msgbox path.Basic_writable 'UserDictionary_writable
'Exit Sub
MyDialog=createunoservice("com.sun.star.ui.dialogs.FolderPicker")
MyDialog.setDescription("Wählen Sie den gewünschten neuen Pfad")
antwort = myDialog.execute
if antwort = 1 Then
   'path.UserDictionary = Mydialog.directory
   path.Basic_writable = Mydialog.directory
   Msgbox "Neuer Pfad " & ConvertFromURL(Mydialog.directory) & " wurde eingetragen."
End if
End Sub
(das Makro ist inhakltlich geändert im Vergleich zum Ursprünglichen!)

kam ich durch Nachschauen zum Eintrag von:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Paths" oor:package="org.openoffice.Office">
 <node oor:name="Paths">
  <node oor:name="Basic">
   <prop oor:name="UserPaths" oor:type="oor:string-list">
    <value/>
   </prop>
   <prop oor:name="WritePath" oor:type="xs:string">
    <value>file:///D:/test_ooo_basic</value>
   </prop>
  </node>
 </node>
</oor:component-data>
in der Datei path.xcu des aktuellen Nutzers, bei Dir also:

C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\registry\data\org\openoffice\Office\Paths.xcu

was man somit als Vorlage für zukünftige händische Änderungen in der Konfigurationsdatei nehmen kann.


Dieser Eintrag zeigt bei mir (OOo 3.1.1, Windows XP) nach Beenden und Neustart von OOo auch sofort Wirkung, so wie gewünscht, allerdings hagelt es beim Starten Fehlermeldungen weil OOo nun bestimmte DAteien im neuen Pfad vermisst.
ES gilt nun die FEhlermeldungen sorgfältig zu lesen, die DAteien an den neuen Ort zu kopieren und die 2 Dateien
script.xlc und dialog.xlc (in der Wurzel des neu festgelegten Basic-Ordners) hinsichtlich der Pfadeinträge zu hirarchisch tieferliegenden Ordner vorhandener (bzw. wie gerade gesagt umkopierter Dateien/Ordner) zu ändern.

Das ist also reine Fleissarbeit.


Vielleicht schafft Du es nun das hinzukriegen und vielleicht wäre es dann nett wenn Du das ERgebnis im Wiki:
http://www.ooowiki.de/PfadeEinstellen?h ... %28pfad%29

einträgst


Tschuldigung, mein Tonfall soll wirklich nicht so unfreundlich klingen wie ersich anhört, nur den ganzen Thread habe ich versucht Anstösse zu geben, in der Hoffnung das Du dann selbst weiterforscht, und habe nun letztlich doch alles selbst gemacht/herausgefunden, und habe eigentlich keine ZEit...

Könntest Du zu diesen beiden Ansätzen noch mal deine Meinung posten?!
also ich würde die Pfade 'normal' eintragen, wie es nun hoffentlich mit oben Gesagten möglich sein wird.

Sofern es immer noch nicht geht mußt Du halt nachfragen.



Gruß
Stephan

Re: Speicherpfad für Makros

von peterschleif » Di, 12.01.2010 13:25

Hallo Stephan.

Vielen Dank für die guten Tipps und deine geduldige Hilfe. Die Lösung mit den Makros ist mir in der Tat zu pflegebedürftig. Wie Du ja schon schreibst, wird der Aufwand irgendwann zu groß.

Ich hab mir jetzt zwei mögliche Workarounds überlegt, die vielleicht eine Chance haben, zukünftige Änderungen der OOo-Entwickler zu überstehen. Beide basieren auf einer Verschiebung des gesamten Userprofils nach E:


1. bootstrap.ini:

Code: Alles auswählen

UserInstallation = E:/Users/Peter/AppData/Roaming/OpenOffice.org/3
oder für mehrere User:

Code: Alles auswählen

UserInstallation = E:/Users/$USERNAME/AppData/Roaming/OpenOffice.org/3
2. Hardlink

Code: Alles auswählen

mklink /D /H /J "C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user" "E:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user"
Könntest Du zu diesen beiden Ansätzen noch mal deine Meinung posten?! Bestimmt kannst Du aus deiner Erfahrung heraus besser beurteilen, ob das Aussicht auf Erfolg hat und wo möglicherweise Probleme entstehen.

Vielen Dank.

Peter

Re: Speicherpfad für Makros

von Stephan » Di, 12.01.2010 12:20

Stephan hat geschrieben:
[...] weil mir dann nicht erklärlich ist woher OOo die Angaben zum Speichern der Makros bezieht, denn irgendwo muß es diese ja speichen.
Die Makros werden ja gespeichert. Nämlich hier:
C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\basic\Standard\Module1.xba
Dort kann ich Änderungen die ich unter "MeineMakros" speichere wiederfinden. Ich möchte Sie aber auf E: und nicht auf C: Und eben das funktioniert für die anderen Einträge wie AutoCorr, AutoText, etc. problemlos - nur eben für Basic nicht.
mir ist vollkommen klar was Du erreichen willst, ich habe mich nur dagegen gewehrt das angeblich garkein Eintrag in der zentralen DAtei vorhanden wäre und ich dann nicht wüßte woher OOo überhaupt die Angaben bezieht für die DEfault einstellung (bei Dir also: C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\basic)

Ansonsten kann ich nichts weiter zu LÖsung Deines Problems beitragen, da das was ich vorgeschlagen habe ja augenscheinlich nicht funktioniert und ich mehr derzeitig nicht weiß.
Ich habs schlicht aufgegeben mich mit diesen Problemen in der Breite zu befassen, weil es seitens OOo immer wieder (Detail-)Änderungen gibt und ich keine Lust habe mich ständig neu zu orientieren. Ursprünglich hatte ich ein Makro geschrieben was die Änderung beliebiger Pfade sehr bequem machte:
http://users.ooodev.org/~joesch/testdatei.html

aber pflege das nicht mehr, eben wegen ständiger Änderungen in OOo und des dadurch hohen Aufwands der Pflege.

Da du ja irgendeine Lösung brauchst würde ich zur LÖsungsfindung raten die Pfade mittels Makro auszulesen und dann mit XRAY zu schauen wie die Möglichkeiten des Schreibens bzw. des Änderns sind, denn auch dort gab es leider in Vergangenheit diverse Änderungen und meine Kenntnisse sind nicht mehr up-to-date.
Einen Code-SChnipsel der für die Pfade der Benutzerwörterbücher, in irgendeiner älteren OOo-Version mal funktioniert hat, schreibe ich hier mal dazu um das Prinzip des ZUgriffs auf die Pfade per Basic zu illustrieren:

Code: Alles auswählen

Sub Main
path=createunoservice("com.sun.star.util.PathSettings")
'Msgbox path.UserDictionary_writable
'Exit Sub
MyDialog=createunoservice("com.sun.star.ui.dialogs.FolderPicker")
MyDialog.setDescription("Wählen Sie den gewünschten neuen Pfad")
antwort = myDialog.execute
if antwort = 1 Then
	'path.UserDictionary = Mydialog.directory
	path.UserDictionary_writable = Mydialog.directory
	Msgbox "Neuer Pfad " & ConvertFromURL(Mydialog.directory) & " wurde eingetragen."
End if
End Sub

Gruß
Stephan

Re: Speicherpfad für Makros

von peterschleif » Di, 12.01.2010 11:56

Stephan hat geschrieben:ich jedoch sprach von:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu
Sorry. Hatte nur das Ende des Pfads beachtet. In der anderen Paths.xcu ist der Eintrag tatsächlich da und ich habe den Pfad entsprechend geändert. Funktioniert aber auch nicht. Wäre zudem aber nicht schön, denn die Einstellung würde dann ja für alle User gelten.

Stephan hat geschrieben:[...] weil mir dann nicht erklärlich ist woher OOo die Angaben zum Speichern der Makros bezieht, denn irgendwo muß es diese ja speichen.
Die Makros werden ja gespeichert. Nämlich hier:
C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\basic\Standard\Module1.xba
Dort kann ich Änderungen die ich unter "MeineMakros" speichere wiederfinden. Ich möchte Sie aber auf E: und nicht auf C: Und eben das funktioniert für die anderen Einträge wie AutoCorr, AutoText, etc. problemlos - nur eben für Basic nicht.

Stephan hat geschrieben:Allenfalls würde ich noch probieren die Änderung versuchsweise in der 'zentralen' DAtei:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu
Funktioniert auch nicht. "MeineMakros" werden immer noch auf C: gespeichert. Hier der Eintrag aus der zentalen Datei:

Code: Alles auswählen

    <node oor:name="Basic" oor:op="fuse" oor:mandatory="true">
      <node oor:name="InternalPaths">
        <node oor:name="$(insturl)/share/basic" oor:op="fuse"/>
      </node>
      <prop oor:name="WritePath">
        <value>file:///E:/Users/Peter/AppData/Roaming/OpenOffice.org/3/user/basic</value>
      </prop>
    </node>
Peter

Re: Speicherpfad für Makros

von Stephan » Di, 12.01.2010 10:46

Glaub' es ruhig. Der Eintrag war bisher nicht da.


Das verstehe ich dann schlicht nicht denn OOo muß die Makros ja von Haus aus irgendwo speichern und die von mir genannte dAtei ist die dAtei welche , meines Wissens, die dafür nötigen Defaults enthält.
Ich habe ihn jetzt hinzugefügt:
Wieso "ihn"? Dein Eintrag betrifft augenscheinlich wegen:

Code: Alles auswählen

<prop oor:name="UserPaths" oor:type="oor:string-list">
einen Eintrag in:
C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\registry\data\org\openoffice\Office\Paths.xcu

ich jedoch sprach von:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu

und wenn es dort keinen Pfadeintrag gab ist mir das schleierhaft, weil mir dann nicht erklärlich ist woher OOo die Angaben zum Speichern der Makros bezieht, denn irgendwo muß es diese ja speichen.

Bringt aber nichts. Makros werden immer noch auf C: gespeichert statt auf E: Bei den anderen Einträgen funktioniert es.
dann kann ich Dir nicht weiterhelfen.
Allenfalls würde ich noch probieren die Änderung versuchsweise in der 'zentralen' DAtei:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu

zu probieren.



GRuß
Stephan

Re: Speicherpfad für Makros

von peterschleif » Di, 12.01.2010 10:24

Stephan hat geschrieben:Ich kann dort ganz einfach entnehmen das der Name "Basic" ist und kann mir nicht vorstellen das bei Dir dieser Eintrag fehlt.
Glaub' es ruhig. Der Eintrag war bisher nicht da. Ich habe ihn jetzt hinzugefügt:

Code: Alles auswählen

  <node oor:name="Basic">
   <prop oor:name="UserPaths" oor:type="oor:string-list">
    <value/>
   </prop>
   <prop oor:name="WritePath" oor:type="xs:string">
    <value>file:///E:/Users/Peter/AppData/Roaming/OpenOffice.org/3/user/basic</value>
   </prop>
  </node>
Bringt aber nichts. Makros werden immer noch auf C: gespeichert statt auf E: Bei den anderen Einträgen funktioniert es.

Peter

Re: Speicherpfad für Makros

von Stephan » Di, 12.01.2010 10:03

Wie heißt denn bei Makros das oor:name-Attribut für den <node>-Knoten?
Warum wohl schrieb ich:
(Wie entsprechende Einträge aussehen kannst Du z.B. aus:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu
entnehmen.)
Ich kann dort ganz einfach entnehmen das der Name "Basic" ist und kann mir nicht vorstellen das bei Dir dieser Eintrag fehlt.


Gruß
Stephan

Re: Speicherpfad für Makros

von peterschleif » Di, 12.01.2010 09:50

Stephan hat geschrieben:Ich gehe davon aus das das möglich ist, warum probierst Du es nicht aus?
Wie heißt denn bei Makros das oor:name-Attribut für den <node>-Knoten?

<node oor:name="AutoText">
<node oor:name="AutoCorrect">
<node oor:name="??????????">

Peter

Re: Speicherpfad für Makros

von Stephan » Di, 12.01.2010 09:45

Kann man den Pfad notfalls manuell hinzufügen?
Ich gehe davon aus das das möglich ist, warum probierst Du es nicht aus?

(Wie entsprechende Einträge aussehen kannst Du z.B. aus:
C:\Programme\OpenOffice.org 3\Basis\share\registry\data\org\openoffice\Office\Paths.xcu
entnehmen.)



Gruß
Stephan

Speicherpfad für Makros

von peterschleif » Di, 12.01.2010 09:30

Hallo.

Im Menü Extras | Optionen | OpenOffice.org | Pfade kann man ja diverse Speicherpfade setzen. Aber einen Pfad für Makros vermisse ich dort. Wo kann man den angeben?

Kann man den Pfad notfalls manuell hinzufügen? Unter Win7 z.B. hier:
C:\Users\Peter\AppData\Roaming\OpenOffice.org\3\user\registry\data\org\openoffice\Office\Paths.xcu

Peter

Nach oben