Master99
verträumter realist
|
EDIT:
die erste fragestellung wurde schon gelöst, die zweite steht im posting von mir weiter unten...
EDIT
Hi Leute!
mal wieder ein Problem:
im Outlook werden Kontakte zuerst gefiltert und dann händisch weiter ausgewählt. jetzt muss ich ein makro schreiben, dass die ausgewählten Kontakte findet und später dann in einen neuen Journaleintrag kopiert.
könnt also wer meine Nase auf ein paar Befehle stoßen, die mir hier weiterhelfen?
DANKE!
Bearbeitet von Master99 am 13.08.2003, 08:33
|
irreversible
oberspammer
|
hab kein outlook in der firma installt, aber gibts da kein makro aufzeichnen? wenn schon klicks an und zeichne das makro auf, dann hast die befehle
|
Master99
verträumter realist
|
leider nein :-( hab die möglichkeit eh schon in betracht gezogen... makro machen und dann code kopieren -> aber nix da!
wieso können ACCESS, EXCEL, WORD und OUTLOOK nicht einfach die selben funktionen benutzen?!? bah, i werd no deppert mit der blöden VBA-Programmierung. gebts mir decht bitte wieder C zu schreiben.
trotzdem danke!
EDIT: ne alternative wäre, alle contacs öffnen, filter drüber und dann halt alle nehmen. ist zwar dann nur ein kompromiss, aber besser als nix.
Bearbeitet von Master99 am 12.08.2003, 11:36
|
watchout
Legendundead
|
gibts net sowas wie selected_item() ?
|
Master99
verträumter realist
|
wenns so heißen würde, hätts ich's wohl schnell gehabt... aber nein, die nenen des Inspector -> WTF. da kann i lange danach suchen wenn i keine ahnung habe, wie es heißt. bin dann durch zufall nach ein paar STUNDEN Internetsucharbeit drauf gestoßen!
also ich habs jetzt eh schon fast geschafft zum glück. ich poste morgen mal den quellcode -> vielleicht kann es irgendeine arme seele mal brauchen und der ersparrt das dann viele, viele nerven!
hab allerdings noch ein problem:
standardmässig wird alles ins eigene Journal gespeichert. das muss aber ins öffentliche -> und wie ich das auswähle weiß ich eben noch nicht. (so eine funktion, wo man auswählen kann in welches journal des kommt hab i nit amoi im outlook gefunden...)
|
Master99
verträumter realist
|
soda, auch des 2. problem hab i mit hilfe vom chefe lösen können...
Sub new_journal()
Dim objApp As Application Dim objSel As Selection Dim objItem As Object Dim i As Integer
On Error GoTo Schleifenende Set objApp = CreateObject("Outlook.Application") Set myNamespace = objApp.GetNamespace("MAPI") Set oJourFolder1 = myNamespace.Folders("Öffentliche Ordner") Set oJourFolder2 = oJourFolder1.Folders("Alle Öffentlichen Ordner") Set myFolder = oJourFolder2.Folders("oeJournal") Set myJournal = myFolder.Items.Add(olJournalItem) Select Case objApp.ActiveWindow.Class Case olExplorer Set objSel = objApp.ActiveExplorer.Selection
If objSel.Count > 0 Then Set colLinks = myJournal.Links i = 1 Do
Set objItem = objSel.Item(i) myJournal.Companies = myJournal.Companies + objItem.CompanyName + "/" colLinks.Add objItem i = i + 1 Loop While i <= objSel.Count End If Case olInspector Set objItem = objApp.ActiveInspector.CurrentItem Case Else ' can't handle any other kind of window End Select
Schleifenende:
myJournal.Display End Sub
Bearbeitet von Master99 am 13.08.2003, 10:28
|
watchout
Legendundead
|
ich frag mich wozu du ins forum postest wenn du eh alles selber löst
|
murcielago
Dr. Doom
|
damits wir auch wissn wies geht
|
Master99
verträumter realist
|
ich frag mich wozu du ins forum postest wenn du eh alles selber löst wenn ich es poste, da weiß ich ja noch nicht wie es geht und hoffe, dass mir hier jemand nen tipp geben kann. dann meldet sich hier nie jemand, und ich tüftle stundenlang an ner lösung (mit internet&büchern) und poste dann das ergebnis, falls es mal wer braucht... des is so frustrierend, wenn man halbwegs C kann, das Grundproblem innerhalb ein paar Minuten löst, und dann ewig lange braucht, um des umzusetzen, nur weil des depperte VBA so sinnlos is. z.b. kannst den befehl vom access zum formular schließen nicht im outlook verwenden. i wer no deppat damit wenn i mitn praktikum fertig bin *lol*
|
watchout
Legendundead
|
master, jetzt darfst mal raten warum ich nimmer vba progge die objektstruktur kann kaum unübersichtlicher dokumentiert sein... das wär ja noch nicht das problem, wenn nicht die objektstruktur das wichtigste beim vba wär
|
Master99
verträumter realist
|
mhm, also die funktion fliegt raus, wenn sich ne verteilerliste in den contacts befindet.... wie kann ich den object-typ erkennen? dann könnt ich den ja einfach überspringen...
|
atrox
in fairy dust... I trust!
|
<modertate> bitte kein VB-geflame! man kann es sich ja leider nicht immer aussuchen.
weiters: wird ein gepostetes problem in der zwischenzeit selbst gelöst (brav: es gibt genügend andere leute, die lehnen sich nach dem post zurück und warten dass der rest von selber passiert), dann gehört es zum guten ton auch die lösung hier zu posten.
insgesamt geht die zeitspanne zwischen frage und endgültiger lösung über zwei tage, man kann also auch nicht vorwerfen, daß ein post nicht gerechtfertigt wäre weil das problem so leicht selbst zu lösen wäre. </modertate>
|
Master99
verträumter realist
|
ja ok, wegen flamerei hast du recht, aber es ist eben ziemlich frustrierend damit zu arbeiten... den rest fass ich mal als kompliment auf :-)
hier hab ich schon wieder das nächste problem:
ich habe hier eine aufwändigere Funktion die einige Zeit in Anspruch nimmt. damit man nicht denkt, dass sich der pc aufgehängt hat, würde ich gerne eine Nachricht (z.b.:"xxx werden bearbeitet, bitte haben sie geduld...) am bildschirm anzeigen, die am ende der funktion wieder automatisch ausgeblendet wird.
MsgBox fällt ja ganz weg, als nächstes hätte ich probiert eine form zu machen, welche ich mit from_name.show aufrufe.
das problem -> auch durch diesen befehl wird meine eigentliche funktion unterbrochen.
Was kann ich jetzt machen? (bitte keine Statuszeilenlösung, das übersieht man zu leicht!)
Danke schonmal, Tom!
EDIT:
die antwort lautet NICHT-MODALER DIALOG...
also die entsprechende form einfach mit dem zusatz vbModeless aufrufen. das sieht dann so aus:
form_wait.Show vbModeless
Bearbeitet von Master99 am 14.08.2003, 15:38
|