Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
02.12.2009 23:02:15 |
Dieter Wollanz |
|
|
|
03.12.2009 10:37:30 |
Holger |
|
|
|
03.12.2009 21:22:15 |
Dieter Wollanz |
|
|
Aw:Aw:Aw:Funktion aus .dll einbinden |
04.12.2009 16:14:34 |
Holger |
|
|
Von:
Holger |
Datum:
04.12.2009 16:14:34 |
Views:
916 |
Rating:
|
Antwort:
|
Thema:
Aw:Aw:Aw:Funktion aus .dll einbinden |
Hallo Dieter Wollanz,
meine Notiz hatte ich nur schnell aus einem anderen Zusammenhang heraus kopiert und nicht getestet. Die genaue Anpassung überlasse ich dir. Die Zeile a = vb.Count ist überflüssig und diente früher einmal der schrittweisen Verfolgung des Ablaufs. Was du als Dateinamen braucht, musst du ausprobieren. Die Meldung entsteht wohl, weil du zur Laufzeit in den Code eingreifst. Mir ist sie bisher noch nicht begegnet, allerdings programmiere ich diese Art der Programmsteuerung nicht sehr häufig, sondern mehr als akademische Übung. Wenn du eine lauffähige Version gebastelt hast, würde ich mich über das Ergebnis freuen.
Gruß
Holger
Dieter Wollanz schrieb am 03.12.2009 21:22:15:
Hallo,
habe das eben probiert. das "a" in der 4. Zeile muss ein "m" sein oder? In der 7. Zeile ist ein Leerzeichen zu viel und das "d:\RSAPI.DLL" akzeptiert er auch nicht. Kann ich dafür 'd:\RSAPI.DLL' schreiben? Dann akzeptiert er wenigstens die Zeile. Wenn ich das Ganze so abgeändert habe und ausführe, dann hat er mit der 3. Zeile ein Problem: "Der Programmatische Zugriff auf das Visual Basic-Projekt ist nicht sicher".
Liegt das an irgendeiner Sicherheitseinstellung!?
Mfg Dieter
Holger schrieb am 03.12.2009 10:37:30:
Hallo Dieter Wollanz,
das habe ich auch schon erfolglos versucht. Ich füge jetzt einfach Code mit einem anderen Makro zur Laufzeit ein. Dabei kannst du auch Variablen einsetzen. Folgendes Beispiel möge dir helfen:
Private Sub Code_setzen_test()
Dim vb As Object, m As Object
Set vb = ActiveWorkbook.VBProject.VBComponents
a = vb.Count
For Each m In vb
If m.Name = "DieseArbeitsmappe" Then
m.CodeModule .insertLines 1, "Declare Sub CLOSECOM Lib "d:\RSAPI.DLL" ()"
Exit Sub
End If
Next
End Sub
Gruß
Holger
Dieter Wollanz schrieb am 02.12.2009 23:02:15:
Hallo,
ich bin zur Zeit bei der vba Programmierung. Jetzt bin ich auf ein Problem gestoßen und komme absolut nicht weiter -.-
Und zwar benutze ich die Funktionen einer .dll
Die Einbindung sieht so aus:
Declare Sub CLOSECOM Lib "d:\RSAPI.DLL" ()
Nach Lib ist ja der Pfad zur .dll angegeben. Diesen möchte ich aber nicht fest in den Quelltext schreiben sondern mit einer Variablen versehn, in der der Pfad steht.
Also in etwa so:
Declare Sub CLOSECOM Lib dllpfad ()
und dllpfad ist dann entsprechend "d:\RSAPI.DLL" bzw variabel, weil der Ort je nach PC variieren kann.
VBA schluckt den Befehl so aber nicht. 1. ist die Variable ja noch garnicht definiert, wenn vba den Quelltext Kopf durchgeht.
Wenn ich die Zeile jetzt in eine Funktion rein schreibe, dann klappt das ebenfalls nicht: "Fehler beim kompilieren. Nach End Sub, End Function etc dürfen nur kommentare stehen.
Also wie kann ich meine Idee umsetzen und so das Problem lesen? Ich hoffe ihr könnt mir helfen
Mfg
Dieter |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
02.12.2009 23:02:15 |
Dieter Wollanz |
|
|
|
03.12.2009 10:37:30 |
Holger |
|
|
|
03.12.2009 21:22:15 |
Dieter Wollanz |
|
|
Aw:Aw:Aw:Funktion aus .dll einbinden |
04.12.2009 16:14:34 |
Holger |
|
|