Autor
|
Thema: VBA-Projekt Mersprachig auslegn (676 mal gelesen)
|
Suchtiii94 Mitglied Konstrukteur
Beiträge: 44 Registriert: 23.10.2017 Catia V5 R28 SP3
|
erstellt am: 21. Feb. 2019 11:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte mein Catia-vba projekt mehrsprachig auslegen. Dazu habe ich mir eine Excel-liste mit den verschiedenen Sprachen angelegt. Diese kann ich auch auslesen und die Buttons und Labels beschreiben. Wie kann ich die Werte für die Beschriftungen auch nach ausführen eines Makros behalten? Ich möchte die Sprache einmal einstellen und diese soll gespeichert werden ohne dass bei jedem Makroaufruf auf die Excel-liste zurückgegriffen wird.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Feb. 2019 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für Suchtiii94
Servus Du könntest gewählte Sprache oder sogar die Labels zwischenspeichern zB: - Textdatei (oder auch ini-Datei) im Userverzeichnis/auf Server
- über Variable im Environment (nur welche Sprache oder Datei)
- über Umgebungsvariabel im OS (nur welche Sprache oder Datei)
- in Registy (SaveSetting)
- ....
Statt der Excel-Mappe könntest du ggf auch eine Ini-Datei oder txt-Datei für die Texte nutzen, dann hast du weniger Abhängigkeiten zu andern Bibliotheken. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Suchtiii94 Mitglied Konstrukteur
Beiträge: 44 Registriert: 23.10.2017 Catia V5 R28 SP3
|
erstellt am: 21. Feb. 2019 12:03 <-- editieren / zitieren --> Unities abgeben:
Servus, danke, die Idee mit dem txt-File gefällt mir. Aber wie kann ich den Inhalt der Textdatei in ein Array schreiben? In Excel geht das ja relativ einfach mit Zeilen und spalten, die habe ich aber dann nicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Feb. 2019 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für Suchtiii94
Servus Es kommt ganz darauf an wie du die Datei aufbauen willst. Es gibt mal wieder "viele Wege nach Rom": zB per TextStream und Split Oder du befragst mal die Internetsuchmaschine deines Vertrauens. Gruß Bernd PS: ggs solltest du ini oder Registy mal anschauen. Da ist die Zuordnung vielleicht einfacher ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Suchtiii94 Mitglied Konstrukteur
Beiträge: 44 Registriert: 23.10.2017 Catia V5 R28 SP3
|
erstellt am: 21. Feb. 2019 14:46 <-- editieren / zitieren --> Unities abgeben:
Vom Aufbau gefällt mir die ini am besten. Nur wie kann ich die Werte aus der ini-Datei auslesen? Aufbau der INI:
Code: [Sektion1] Schlüssel=Wert [Sektion2] Schlüssel=Wert
Versuchter Zugriff: Code: MsgBox System.PrivateProfileString(FileName:="C:\test.ini", Section:="Sektion1", key:="Schlüssel")
Fehler: Object required Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Feb. 2019 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für Suchtiii94
Servus Wo hast du den Code her? Was ist System bei dir (Watchfenster nutzen)? Schon mal in der entsprechenden Doku nach den Befehlen geschaut? Mal nach Beispielen dazu in VBA geschaut (zB hier) Weißt du wie du die INI dann mit dem Makro an andere User/Rechner verteilen kannst? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Suchtiii94 Mitglied Konstrukteur
Beiträge: 44 Registriert: 23.10.2017 Catia V5 R28 SP3
|
erstellt am: 22. Feb. 2019 11:09 <-- editieren / zitieren --> Unities abgeben:
Servus, in der Doku konnte ich leider nichts finden. Den Thread habe ich auch gefunden, leider habe ich das gleiche Problem mit dem 64-Bit (Compile error: The code in this project must be updated for use on 64-bit systems.) Ja die ini generiere ich aus einer excel liste heraus. Excel liste liegt auf dem Server und die ini's werden beim ersten Benutzen local erstellt und von da aus ausgelesen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 22. Feb. 2019 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für Suchtiii94
|