Einfügen v. Dateiinhalt in Tabellencode misslungen
18.01.2006 17:10:29
Tobias
Ich habe eine Subfunktion Workbook_Change() für die Plausiprüfung von Tabellenzellen erstellt, die nur dann aktiv wird, wenn diese Funktion direkt im Tabellencode und nicht als Modul, Klassenmodul oder Prozedur angesprochen wird, sobald man Tabellenzellen geändert hat.
Ich habe diese Funktion bereits in einer externen Datei gespeichert.
Zwar geht es einfacher, diese Funktion manuell in das VBAProjekt direkt in die Tabellencode einzufügen.
Bei mir gibt es aber einen Spezialfall:
Es kann vorkommen, dass dieser Code in der Tabelle aus Versehen gelöscht worden ist. Ist dies der Fall, soll der Code aus der externen Datei kopiert und in die Tabelle eingefügt werden.
Die könnte durch den Import geschehen:
Workbooks(Workbookname).VBProject.VBComponents.Import ("Test.bas")
Das funktioniert aber nicht, weil sie nicht in die Tabellencode, sondern in das Modul importiert wird.
Wenn ich eine andere Suffixbezeichnung verwende, dann wird sie als Klassenmodul importiert.
Beides möchte ich nicht.
Drum habe ich versucht, den Import mittels "SendKeys" durchzuführen.
(Diese Methode gefällt mir zwar nicht)
Dennoch funktioniert die SendKeys auch nicht!
Hier die Codezeile:
SendKeys ("%{F11}{PGDN}{ENTER}{PGDN}%ed" & "Test.bas" & {ENTER}%{F4}"), True
Damit wird in den VBAProjekt gewechselt, mit PGDN ans letzte VBAProjektnamen markiert, diesen Ordner mit ENTER geöffnet und darin die Tabelle mit PGDN markiert. Schliesslich wird der Menüpunkt "Einfügen" - "Datei..." mit %ed angesprochen, der Name der Datei eingegeben, mit ENTER abgeschlossen und das Projekt mit F4 verlassen.
Diese Theorie sollte dann in die Praxis umgesetzt werden.
ABER:
Beim Debuggen stelle ich fest, dass der Menüpunkt "Datei ..." deaktiviert ist!!!
Warum?
Gruss
Tobias