Zum Inhalt springen

Quelltext per Knopfdruck editieren


anne

Empfohlene Beiträge

Hallo allerseits,

hätte folgende Frage:

Ich möchte mit vba (Word 2002) per Knopfdruck zu einer ComboBox ein Item hinzufügen - und zwar so, dass es nach Schließen der Word-Datei immer noch da ist.

Ich muss also irgendwie an den Quelltext heran. Aber wie??!

Kann mir da jemand helfen?

Danke schon mal

Anne

Link zu diesem Kommentar
Auf anderen Seiten teilen

Puh, also ich bezweifle das du während das Programm läuft einfach so Einträge in den Quelltext einfügen kannst, noch dazu durch das Programm selbst.

Zwei Alternativen:

Eine Textdatei, in der die ganzen Einträge stehen und die beim starten ausgelesen wird.

Eine Datenbank, in der die ganzen ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von EvilNick

Eine Textdatei, in der die ganzen Einträge stehen und die beim starten ausgelesen wird.

Eine Datenbank, in der die ganzen ...

jepp... oder eine andere nicht so saubere Methode...

vba.savesetting - damit kannst du z.b. deinen Wert in die Registry schreiben...

und mit

vba.getsetting wieder holen... aber bei mehreren Werten (Keys) wird das ganz schön unübersichtlich/ stopft die Reg unnötig voll... desswegen würde ich zu ner Textdatei raten ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von anne

Hallo allerseits,

hätte folgende Frage:

Ich möchte mit vba (Word 2002) per Knopfdruck zu einer ComboBox ein Item hinzufügen - und zwar so, dass es nach Schließen der Word-Datei immer noch da ist.

Ich muss also irgendwie an den Quelltext heran. Aber wie??!

Kann mir da jemand helfen?

Danke schon mal

Anne

Versteh ich das richtig ? Die Combobox ist bereits in dem Worddokument vorhanden und du möchtest jetzt gerne ein Makro erzeugen, das auf Knopfdruck neue Listeneinträge erzeugt ?

Kennst du denn die Bezeichnung der bestehenden Combobox ? Dann würde es vieleicht schon reichen ein eigenes Makro aufzuzeichnen, da den Eintrag bei jedem Öffnen des Dokuments erzeugt. Also ungefähr so:

Private Sub Document_Open()

'Stimmt die Methode des Objekts ??!

COMBOBOX.additem(WERT)

End Sub

Setzt natürlich voraus das Makros nicht deaktiviert sind und der Eintrag immer der selbe ist. Ansonsten haben meine Vorgänger Recht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn das so einfach wäre....

Dass man so Werte bei einer ComboBox hinzufügt ist mir auch klar.

Aber ich will Folgendes:

Der User drückt auf einen Knopf, gibt einen Wert ein und der wird in die Combobox mit aufgenommen. Das an sich ist nicht schwer. Blöd ist aber, dass, wenn ich das Dokument schließe, dieser Wert nicht mehr dabei ist, weil er halt im Quelltext nicht mit drin steht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von |roTekuGeL|

jepp... oder eine andere nicht so saubere Methode...

vba.savesetting - damit kannst du z.b. deinen Wert in die Registry schreiben...

und mit

vba.getsetting wieder holen... aber bei mehreren Werten (Keys) wird das ganz schön unübersichtlich/ stopft die Reg unnötig voll... desswegen würde ich zu ner Textdatei raten ;)

da stimme ich voll zu hab zwar noch nich viel 1-2* was mit VBA gemacht aber das ist eigentlich bei den mir bekannten sprachen auch nich anders lösbar.

Einfach beim Start Einlesen und beim Ende neu schreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von anne

Wenn das so einfach wäre....

Dass man so Werte bei einer ComboBox hinzufügt ist mir auch klar.

Aber ich will Folgendes:

Der User drückt auf einen Knopf, gibt einen Wert ein und der wird in die Combobox mit aufgenommen. Das an sich ist nicht schwer. Blöd ist aber, dass, wenn ich das Dokument schließe, dieser Wert nicht mehr dabei ist, weil er halt im Quelltext nicht mit drin steht.

Achso, dass hab ich so nicht verstanden.

In dem Fall solltest du es wirklich über ein Textfile machen. Ich hab dazu ein Beispiel in meinen Unterlagen gefunden, allerdings ohne wiedereinlesen. Aber das kannst du wahrscheinlich schon.



Private strArray(0 To 100) As String
Private Sub CommandButton1_Click()

Static intzaehler As Integer

If TextBox1.Text <> "" Then
strArray(intzaehler) = TextBox1.Text
ComboBox1.AddItem (strArray(intzaehler))
End If

intzaehler = intzaehler + 1

End Sub

Private Sub CommandButton11_Click()

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
Dim zaehler As Integer

For zaehler = LBound(strArray) To UBound(strArray)

a.WriteLine (strArray(zaehler))

Next

a.Close

End Sub
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...