| 
                              
                                  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:
                                             
                                            1181 | 
										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 | 
 | 
 |