Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Fehler beim Kompilieren Mehrdeutiger Name AutoNew

Frage Microsoft Microsoft Office

Mitglied: Integra

Integra (Level 1) - Jetzt verbinden

17.02.2011 um 11:37 Uhr, 7008 Aufrufe, 8 Kommentare

Hallo Leute

Ich habe nur sehr wenig Ahnung von Makros und stehe hier nun vor einem ziemlichen Problem.

Auf der Microsoft-Homespage habe ich die wichtigsten Punkte zur Erstellung von Makros angeschaut und dann mithilfe eines Kollegens folgendes Script erstellt.
Dieses Script soll die Informationen aus dem AD lesen und in das Word-File schreiben, welches dann als Template bei den Usern eingebettet wird.

Skript:
Sub AutoNew()
'
' AutoNew Makro
'
'
Sub ActiveDirectoryDaten()
Dim qQuery, objSysInfo, objuser
Dim Name, EMail, Phone, Fax
Set objSysInfo = CreateObject("ADSystemInfo") objSysInfo.RefreshSchemaCache qQuery = "LDAP://ou=,ou=,dc=,dc=,ou=" & objSysInfo.UserName Set objuser = GetObject(qQuery)

Name = objuser.firstname & " " & objuser.lastname Phone = objuser.TelephoneNumber Fax = objuser.facsimileTelephoneNumber EMail = objuser.mail

smsEinfügen "ADTelefon", Phone
smsEinfügen "ADName", Name
smsEinfügen "ADFax", Fax
smsEinfügen "ADEmail", EMail

If ActiveDocument.Bookmarks.Exists("Datum") = True Then ActiveDocument.FormFields("Datum").Result = Date End If End Sub

If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then ActiveDocument.FormFields(Textmarke).Result = Variable End If End Sub

Sub AutoOpen()
Call ActiveDirectoryDaten
End Sub

Sub AutoNew()
Call ActiveDirectoryDaten
End Sub

End Sub

Wenn ich das Skript nun ausführe, erhalte ich die im Titel stehende Fehlermedlung.

Ich weis jetzt leider nicht wo der Fehler steckt und welche Zeilen nicht korrekt sind und wäre echt froh wenn mir jemand helfen könnte.

Ich danke sehr und wünsche noch einen angenhemen Tag.

Gruss Integra!
Mitglied: MrTrebron
17.02.2011 um 11:42 Uhr
Hi Integra

01.
' AutoNew Makro 
02.
03.
04.
Sub ActiveDirectoryDaten() 
05.
Dim qQuery, objSysInfo, objuser 
06.
Dim Name, EMail, Phone, Fax 
07.
Set objSysInfo = CreateObject("ADSystemInfo") objSysInfo.RefreshSchemaCache qQuery = "LDAP://ou=,ou=,dc=,dc=,ou=" & objSysInfo.UserName Set objuser = GetObject(qQuery) 
08.
 
09.
Name = objuser.firstname & " " & objuser.lastname Phone = objuser.TelephoneNumber Fax = objuser.facsimileTelephoneNumber EMail = objuser.mail 
10.
 
11.
smsEinfügen "ADTelefon", Phone 
12.
smsEinfügen "ADName", Name 
13.
smsEinfügen "ADFax", Fax 
14.
smsEinfügen "ADEmail", EMail 
15.
 
16.
If ActiveDocument.Bookmarks.Exists("Datum") = True Then ActiveDocument.FormFields("Datum").Result = Date  
17.
End If  
18.
 
19.
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then ActiveDocument.FormFields(Textmarke).Result = Variable  
20.
End If  
21.
 
22.
End Sub 
23.
 
24.
Sub AutoOpen() 
25.
Call ActiveDirectoryDaten 
26.
End Sub 
27.
 
28.
Sub AutoNew() 
29.
Call ActiveDirectoryDaten 
30.
End Sub
Du musst das Sub AutoNew() mit End Sub abschließen bevor du die nächsten Subs schreibst und auch nicht mehrfach End Sub in den Code packen ohne ein neues Sub anzufangen

Gruß
Norbert
Bitte warten ..
Mitglied: Integra
17.02.2011 um 11:59 Uhr
Hallo Norbert

Danke für die Hilfe.
Werde den Quelltext mal heute ausprobieren.

Eine Frage hätte ich da noch. Reicht es wenn ich bei der LDAP-Abfrage einfach die OU mit allen Usern angebenen oder muss ich für jeden User den kompletten Pfad angeben?

Gruss und danke nochmals für deine Hilfe!

Integra!
Bitte warten ..
Mitglied: MrTrebron
17.02.2011 um 12:55 Uhr
Hi Integra,

zu der Abfrage selbst kann ich dir leider nichts sagen.

Gruß
Norbert
Bitte warten ..
Mitglied: Integra
17.02.2011 um 13:54 Uhr
Hallo Norbert!

Ich habe mir deinen Quelltext nun mal ausgeliehen und bei mir eingefügt, trotzdem erhalte ich bei Zeile 28 immnoch die gleich Fehlermeldung.
Weiter erhalte ich in verschiedenene Zeilen die Meldung "Erwarte Anweisungsende" mit der ich auch wenig anfangen kann.

Hoffe du hast hier auch noch guten Rat.

Danke und Gruss

Integra!
Bitte warten ..
Mitglied: MrTrebron
17.02.2011 um 14:31 Uhr
Hi

es soll eine Funktion aufgerufen werden die heißt
smsEinfügen
Hast du die Funktion noch irgendwo?
Oder was sollen die Zeilen
01.
smsEinfügen "ADTelefon", Phone 
02.
smsEinfügen "ADName", Name 
03.
smsEinfügen "ADFax", Fax 
04.
smsEinfügen "ADEmail", EMail
Gruß
Norbert
Bitte warten ..
Mitglied: Integra
17.02.2011 um 15:13 Uhr
Nein, ich habe die Funktionen nur in diesen Zeilen, sonst niergendwo.

Ich muss dir ehrlich sagen, ich weis nicht was die Zeillen sollen, vielleicht sind sie dafür zuständig, wo auf dem Blatt die informationen eingefügt werden sollen.

Ich habe sie aus dem Text entfernt und erneut kompiliert aber die haben nix zur Sache... die Fehler enstehen bei den Zeilen 7 und 30, wobei bei 30 folgender Fehler erscheint "Fehler beim Kompilieren: Nach End Sub, End Function oder End Property können nur Kommentare stehen" was für mich heisst das auch hier wieder eine Funktion fehlt.

Zudem erhalte ich auf Zeile 7 einen Syntaxfehler... der nur auf die falsche LDAP-Abfrage zurückzuführen ist.

Gruss!
Bitte warten ..
Mitglied: MrTrebron
17.02.2011 um 15:26 Uhr
Hi

01.
 
02.
' AutoNew Makro 
03.
04.
05.
Sub ActiveDirectoryDaten() 
06.
Dim qQuery, objSysInfo, objuser 
07.
Dim Name, EMail, Phone, Fax 
08.
Set objSysInfo = CreateObject("ADSystemInfo") 
09.
objSysInfo.RefreshSchemaCache 
10.
qQuery = "LDAP://ou=,ou=,dc=,dc=,ou=" & objSysInfo.UserName 
11.
Set objuser = GetObject(qQuery) 
12.
 
13.
Name = objuser.firstname & " " & objuser.lastname 
14.
Phone = objuser.TelephoneNumber 
15.
Fax = objuser.facsimileTelephoneNumber 
16.
EMail = objuser.mail 
17.
 
18.
If ActiveDocument.Bookmarks.Exists("Datum") = True Then 
19.
ActiveDocument.FormFields("Datum").Result = Date 
20.
End If 
21.
 
22.
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then 
23.
ActiveDocument.FormFields(Textmarke).Result = Variable 
24.
End If 
25.
 
26.
End Sub 
27.
 
28.
Sub AutoOpen() 
29.
Call ActiveDirectoryDaten 
30.
End Sub 
31.
 
32.
Sub AutoNew() 
33.
Call ActiveDirectoryDaten 
34.
End Sub
Schaue mal ob dein Code so formatiert ist

Norbert
Bitte warten ..
Mitglied: Integra
18.02.2011 um 11:04 Uhr
Hallo Norbert.

Also, ich habe mein Skript nun mit deinem Vorschlag verglichen.
Mein Code sieht so auf:

01.
Sub AutoNew() 
02.
03.
' AutoNew Makro 
04.
05.
06.
End Sub 
07.
 
08.
Sub ActiveDirectoryDaten() 
09.
Dim qQuery, objSysInfo, objuser 
10.
Dim Name, EMail, Phone, Fax 
11.
Set objSysInfo = CreateObject("ADSystemInfo") 
12.
objSysInfo.RefreshSchemaCache 
13.
qQuery = "LDAP://ou=,ou=,dc=,dc=" & objSysInfo.UserName 
14.
Set objuser = GetObject(qQuery) 
15.
 
16.
Name = objuser.firstname & " " & objuser.lastname 
17.
Phone = objuser.TelephoneNumber 
18.
Fax = objuser.facsimileTelephoneNumber 
19.
EMail = objuser.mail 
20.
 
21.
 
22.
If ActiveDocument.Bookmarks.Exists("Datum") = True Then 
23.
ActiveDocument.FormFields("Datum").Result = Date 
24.
End If 
25.
 
26.
If ActiveDocument.Bookmarks.Exists(Textmarke) = True Then 
27.
ActiveDocument.FormFields(Textmarke).Result = Variable 
28.
End If 
29.
 
30.
End Sub 
31.
 
32.
 
33.
Sub AutoOpen() 
34.
Call ActiveDirectoryDaten 
35.
End Sub 
36.
 
37.
 
38.
Sub Auto() 
39.
Call ActiveDirectoryDaten 
40.
End Sub
Nun scheint eigentlich alles zu passen, leider erhalte ich beim kompilieren nun noch den Fehler "Laufzeitfehler -'2147463168 (80005000)': Automatisierungsfehler" bei Zeile 14.
Ich glaube langsam kommen wir der Geschichte näher^^

Danke und Gruss!

Edit:
In Zeile 14 verlangt er die LDAP-Abfrage und in der Klammer steht der Name der Abfrage die er verwenden soll (qQuery), ich glaube einfach das meine LDAP-Abfrage falsch ist. Ich weis eben nicht ob ich nun den Pfad bis zum User angeben muss oder ob es reicht wenn ich die OU der User angebe. Findet die genau Abfrage in Word nicht in den Zeilen 16-19? Das Makro soll eben den User erkennen der gerade angemeldet ist, also nix vordefiniertes.

Gruss Integra!
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Vmware
Veeam für VM Ware Backup Fehler (2)

Frage von JoergN1968 zum Thema Vmware ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...