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

Quellcode einfügen excel 2003 - vba

Frage Microsoft Microsoft Office

Mitglied: Dudelidude

Dudelidude (Level 1) - Jetzt verbinden

14.07.2011 um 11:26 Uhr, 4679 Aufrufe, 2 Kommentare

Hallo liebe Leute!

Es geht um folgendes.Ich hab einen Quellcode aus einer anderen Abteilung bekommen, der es mir ermöglicht die Adresssuche im Outlook in einem Excelsheet zu öffnen.
Allerdings versteh ich den Code nicht und weiß nicht wo ich den reinkopieren soll.

Er soll in das sheet "WorkingGroupList". Wie kann ich den Code darein kopieren? Der Clue ist,dass ich das Makro nicht einer Schaltfläche zuweisen muss,sonder es immer da funktioniert,wo die Zeile ="x" ist und die Spalte ="y" !

Hoffe jemand kann mir das erklären


Das ist der Code:

Sub ADNameQuery(Name As String, iRow As Long, iCol As Long)

'Es folgen Makros für das Aufrufen des Outlook Adressbuchs

Dim GC As Object, Child As Object, rootDomaine As Object, objConnection As Object
Dim objCommand As Object, objRecordSet
Set GC = GetObject("GC:")
For Each Child In GC
Set rootDomain = Child
Next
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<GC://" & rootDomain.Name & ">;(samAccountName=" & Name & ");displayName,telephoneNumber,mobile,mail,sn,givenName,department,physicalDeliveryOfficeName,co;subTree"
Set objRecordSet = objCommand.Execute
If Not objRecordSet.EOF Then
Cells(iRow, iCol).Value = objRecordSet.Fields("sn").Value
Cells(iRow + 1, iCol).Value = objRecordSet.Fields("givenName").Value
Cells(iRow + 4, iCol) = objRecordSet.Fields("mail").Value
Cells(iRow + 5, iCol).Value = objRecordSet.Fields("department").Value
Cells(iRow + 2, iCol).Value = objRecordSet.Fields("telephoneNumber").Value
Cells(iRow + 3, iCol).Value = objRecordSet.Fields("mobile").Value
'Cells(iRow, iCol).Value = objRecordSet.Fields("displayName").Value
'Cells(iRow + 7, iCol).Value = objRecordSet.Fields("physicalDeliveryOfficeName").Value
'Cells(iRow + 6, iCol).Value = objRecordSet.Fields("co").Value
Cells(iRow - 1, iCol).Select
End If
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nam As String, iRow As Long, iCol As Long, Memo As String
If Target.Cells.Count > 1 Then GoTo ende
iRow = Target.Row
iCol = Target.Column
If Cells(1, iCol).Value = "x" And Cells(iRow, 1).Value = "y" Then
Target.Value = "Bitte warten!"
Call Wer(Memo, Nam)
Target.Value = ""
End If
If Memo <> "" Then Call ADNameQuery(Memo, iRow, iCol)
ende:
End Sub
Sub Wer(ByRef Memo As String, ByRef Nam As String)
Dim objRecipColl As Object, OutLookObject As Object, NmSpace As Object
Set OutLookObject = CreateObject("Outlook.Application")
Set NmSpace = CreateObject("MAPI.Session")
If Not NmSpace Is Nothing Then
NmSpace.logon "", "", False, False
End If
Memo = ""
Nam = ""
On Error GoTo ende
Set objRecipColl = NmSpace.AddressBook()
Memo = Memoid(objRecipColl.Item(1).Address)
Nam = objRecipColl.Item(1).Name
ende:
Err.Clear
On Error GoTo 0
End Sub
Function Memoid(Nam As String) As String
Dim i As Long, j As Long
j = 1
nochmal:
i = InStr(j, Nam, "cn=", vbTextCompare)
If i > 0 Then
j = i + 1
GoTo nochmal
End If
If j > 1 Then
Memoid = Right(Nam, Len(Nam) - j - 1)
Else
Memoid = ""
End If
End Function
Mitglied: 83928
14.07.2011 um 12:46 Uhr
Ohne den Code betrachtet zu haben - den VBA-Editor öffnest Du bei E2003 über ->Extras->Makros->Visual Basic Editor. Da gehört der Code rein. Deine Arbeitsmappe sollte ein Tabellenblatt namens WorkingGroupList beinhalten....
Bitte warten ..
Mitglied: Dudelidude
14.07.2011 um 13:27 Uhr
Ja das hab auch so gemacht,mein Fehler war, dass ich den Code in ein Modul gelegt habe und es aber nur funktioniert,wenn man den Code in das entsprechende Tabellenblatt legt. Dummer Fehler, der viel Zeit und Nerven kostete.
Trotzdem Danke für die Hilfe!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...