title image


Smiley Re: Text aus einer txt einlesen und als VBA-Code integrieren
Das kriegst du bestimmt gebacken. AddFromFile hätte - sofern es überhaupt zu deinem Ansatz passt - verschiedenste Tücken, v.a. wenn du vorhast, dein Projekt zu verteilen, z.B.

- ist die dll überhaupt vorhanden und registriert?

- wie schaut's mit der Sicherheits-Einstellung aus, mit der du ja auch konfrontiert wurdest - u.U. könnte sie der User gar nicht aktivieren (Policy) und man sollte dies wg. eines eigenen Projekts auch nicht fordern

- deine Projektdatei würde dadurch geändert, was ggf. zu berücksichtigen wäre

- eine AV-SW könnte sie aufgrund dieser Codezeile blockieren



Noch eine kurze Erläuterung zur vorgeschlagenen Auswertung:

Du bekommst ja durch ReadLine (oder Line Input, wenn du das integrierte Open For Input-Konstrukt einsetzt) in der Schleife je 1 Zeile geliefert.

Diese speicherst du in einer String-Variablen (strZeile)

Diese untersuchst du nach dem Trenn- bzw. Zuweisungszeichen (in deinem Fall =) => pos

Damit solltest du jetzt linke und rechte Hälfte generieren können, wobei eben noch ein trim angebracht ist => sWhat und sValue.

Die linke untersuchst du jetzt entsprechend deiner Erwartungen und weist dann der passenden Kombination Steuerelement.Eigenschaft den rechten Wert zu.

Natürlich kannst du selbiges auch für andere Fälle (Msg-Texte z.B.) einsetzen, alles in einem Array speichern usw.



Anbei noch ein (möglicher) Ablauf beim Einsatz einer *.ini:



Private Sub UserForm_Initialize()

' ...

btnGetPath.Caption = fsIrgendeinName("btnGetPath", "Caption")

btnGetPath.Accelerator = fsIrgendeinName("btnGetPath", "Acc")

btnStart.Caption = fsIrgendeinName("btnStart", "Caption")

btnStart.Accelerator = fsIrgendeinName("btnStart", "Acc")

' ...

End Sub



Function fsIrgendeinName(sSection As String, sKey As String) As String

Const ksIni = "U:\Test\MyProg.ini" ' ggf. global deklarieren

fsIrgendeinName = System.PrivateProfileString(ksIni, sSection, sKey)

End Function



Der Aufbau der ini wäre dann:

[btnGetPath]

Caption = Browse

' Zugriffstaste für btnGetPath

Acc = b

[btnStart]

Caption = Start

Acc = s



Auch hier gilt i.W. das zur zeilenweisen Variante Gesagte. Die Funktion würde in dieser Form einen Leerstring liefern, wenn Datei, Abschnitt oder Schlüssel nicht gefunden wird - ein Fehler wird nicht generiert.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: