GoldkuesstAsphalt Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 Hallo Community, ich bin leider nicht erfahren in Sachen Programmierung und stehe nun vor dem Problem, dass ich ein Formular habe mit 2 "Senden-Buttons" der 1 funktioniert bloß der zweite bereitet Probleme. Genaueres: Excel 2010 /Makro / Visual Basic Code: 'Second button macro' Sub AktiveArbeitsmappeAlsAnhang2() Application.DisplayAlerts = False Dim aws As String Dim wstemp As String Dim dest As Variant Dim olapp As Object Dim Src As Variant Src = Worksheets(1).Cells(2, 10).Value Dim Ansp As Variant Ansp = Worksheets(1).Cells(23, 4).Value ActiveWorkbook.Save aws = ActiveWorkbook.FullName If Worksheets(1).Cells(4, 75).Value = ja Then dest = "mMustermann1@Test.de; mMustermann2@Test.de; mMustermann3@Test.de; " ElseIf Worksheets(1).Cells(4, 75).Value = nein Then dest = "mMustermann1@Test.de; " End If Set olapp = CreateObject("Outlook.Application") With olapp.CreateItem(0) .To = dest + Src + Ansp .Subject = "Informationen_Kundenaudits_gesamt" .ReadReceiptRequested = True .Attachments.Add aws .Display End With Set olapp = Nothing Application.DisplayAlerts = True End Sub Im Moment ist es so, dass wenn man auf den 2ten „Senden“ Button klickt, immer mmustermann2@test.de und Mmustermann3@test.de angeschrieben werden. Diese sollten jedoch nur dann im Verteiler auftauchen, wenn ein Voraudit geplant ist, also 9.1.1 [Cells(4, 75)]mit ja beantwortet wurde. mmustermann1@test.de soll immer angeschrieben werden. Kann mir jemand behilflich sein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 (bearbeitet) Ganze ehrlich klinkt das klingt nach Fummelei. Ich rate zu einer richtigen Liste (serverseitig), d.h. die Leute, die angeschrieben werden sollen stehen in der Liste und ich kann dann eine EMail an "meineliste1@wasauchimmer.de" schicken und die EMail wird an alle weiter geleitet. Eins der bekanntesten System dafür ist Majordomo bzw. Mailman Vor allem wird hier auch direkt passend die CC/BCC Info gesetzt und auch die Antwortadresse. P.S.: Verwende bitte für Codes die Code-Tags Bearbeitet 24. April 2013 von flashpixx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 If Worksheets(1).Cells(4, 75).Value = ja Then ... ElseIf Worksheets(1).Cells(4, 75).Value = nein Then Hast du Variablen mit den Namen ja und nein? Oder meinst du hier Strings? Dann solltest du Anführungszeichen verwenden. Und in Zukunft Option Explicit verwenden, damit dir so etwas sofort um die Ohren fliegt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 ich bin leider nicht erfahren in Sachen Programmierung und stehe nun vor dem Problem, dass ich ein Formular habe mit 2 "Senden-Buttons" der 1 funktioniert bloß der zweite bereitet Probleme. Entschuldige bitte, aber das scheint nicht das einzigste Problem zu sein. Ich persönlich finde solch eine Datenspeicherung in einer Applikation deren Stärken "Tabellenkalkulationen" sind, fast schon pervers um nicht zu sagen ein "konzeptionelles Desaster". Es lässt sich nicht alles gut und sinnvoll im MS Excel lösen. .oO(boaaah, da bekommt man Gänsehaut wenn man so etwas liest) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GoldkuesstAsphalt Geschrieben 24. April 2013 Autor Teilen Geschrieben 24. April 2013 Das Formular ist nicht von mir, für die Umsetzung kann ich nichts. Ich habe den Auftrag vom User bekommen es "zum laufen zu bringen" und konnte weder durch "" noch umstellen des Codes nicht den gewünschten Erfolg erziehlen. Da dachte ich, ich könnte mich an die Community wenden. Da ich mir (durch fehlendes Wissen) leider nicht meinen Fehler erklären kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 Wenn sich an dem ExcelSheet irgendwas ändert, kann es passieren, dass das Script gegen die Wand läuft. Versuch doch Überzeugungsarbeit gegenüber dem Auftraggeber zu leisten. Stammdatenhaltung macht man in einer Datenbank und nicht in einer Tabellenkalkulation! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GoldkuesstAsphalt Geschrieben 24. April 2013 Autor Teilen Geschrieben 24. April 2013 Bin trotzdem dankbar, wenn jemand Anregungen zum Abändern des Codes hat Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 Bin trotzdem dankbar, wenn jemand Anregungen zum Abändern des Codes hat Tut mir leid, aber mein innerer Schweinehund verbietet mir, bei so etwas noch zu helfen Nicht böse sein :old Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 24. April 2013 Teilen Geschrieben 24. April 2013 If Worksheets(1).Cells(4, 75).Value = ja Then dest = "mMustermann1@Test.de; [email]mMustermann2@Test.de[/email]; [email]mMustermann3@Test.de[/email]; " ElseIf Worksheets(1).Cells(4, 75).Value = nein Then dest = "mMustermann1@Test.de; " End If Ich rate noch einmal ganz dringen von diesem fachlich schlechten Ansatz ab. Ein Pseudo-Code (dies ist kein(!) lauffähiger VBA Code) löst dieses Problem emailempfaenger = ["mMustermann1@Test.de"] if audit : emailempfaenger.extend(["mMustermann2@Text.de", "mMustermann3@Text.de"]) write email with BCC recipients " ".join(emailempfaenger) Ich erzeuge eine Liste mit den Empfängern, wobei ich die Personen, die immer eine Nachricht erhalten sollen direkt in der Liste anlege und dann prüfe ich ob ein Audit vorliegt (audit ist als Boolean aufzufassen), wenn ein audit == true ist, dann ergänze ich die Liste. Danach implodiere ich die Liste zu einem String, den ich als BCC verwende. Du solltest bei solchen Dingen definitiv den BCC verwenden und eine korrekte Rückantwortadresse verwenden, dies ist ein allgemeines Vorgehen bei Mailinglisten. Ich habe den Auftrag vom User bekommen es "zum laufen zu bringen" und konnte weder durch "" noch umstellen des Codes nicht den gewünschten Erfolg erziehlen. Da dachte ich, ich könnte mich an die Community wenden. Sorry für das F'Quote, aber wenn Du nicht das notwendige Wissen hast, den Code den Du produzierst zu verstehen, dann kannst Du die Problemlösung nicht beheben. Du musst Dir das notwendige Wissen aneignen. Ich rate Dir aber von Deinem Vorgehen ab, nimm ein fertiges System, das Mailinglisten verwalten kann (Links siehe mein erstes Post), damit hast Du all diese Probleme nicht. Alternativ pass den MTA so an, dass er die Daten direkt verarbeiten kann, d.h. die Daten die jetzt in der Exceldatei gespeichert sind werden in eine Datenbank gelegt und anhand dieser liest der MTA die Mailadressen und leitet die EMail direkt an die entsprechenden Personen, sobald sich dann etwas in den Daten ändert, ist die Änderung auch direkt bei den Mailadressen konsistent. Eine Mailingliste aufzusetzen sollte für einen Administrator nur einige wenige Minuten Arbeit sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 25. April 2013 Teilen Geschrieben 25. April 2013 Kein weiteres Posting des Thread-Erstellers? Die Vernunft scheint Gott sei Dank gesiegt zu haben :upps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GoldkuesstAsphalt Geschrieben 25. April 2013 Autor Teilen Geschrieben 25. April 2013 :old von wegen. Ich habe den Vorschlag meinem Auftraggeber und Chef mitgeteilt, keine Begeisterung - eher im Gegenteil. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 25. April 2013 Teilen Geschrieben 25. April 2013 (bearbeitet) Gugg mal hier: Link Mit etwas eigenem Geschick sollte dies Deinen .... Schäff befriedigen Weitere Postings zu diesem Thema sind für mich nicht mehr von Interesse Viel Erfolg ... unglaublich Bearbeitet 25. April 2013 von uenetz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GoldkuesstAsphalt Geschrieben 25. April 2013 Autor Teilen Geschrieben 25. April 2013 Vielen dank, ich werde/muss weiterprobieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
IT-Kaetzchen Geschrieben 8. Mai 2013 Teilen Geschrieben 8. Mai 2013 Gugg mal hier: Link Mit etwas eigenem Geschick sollte dies Deinen .... Schäff befriedigen Weitere Postings zu diesem Thema sind für mich nicht mehr von Interesse Viel Erfolg ... unglaublich In meinen Augen ist das Forum dazu da, um zu helfen, wenn jemand Probleme hat oder Informationen auszutauschen! Der Code besteht bereits und es wird nach der Suche von dem Fehler gebeten. Unter anderem finde ich nicht, dass das ein Lehrling im 1. Lehrjahr können muss. Nur zu sagen 'ich bekomme Gänsehaut' oder 'das ist nicht in Excel umsetzbar' hilft dem ThreadSteller gar nicht! Also sollte man entweder wirklich helfen, wenn man Ahnung hat (und die Lust zu helfen hat) oder blöde und unpassende Sprüche sein lassen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 8. Mai 2013 Teilen Geschrieben 8. Mai 2013 Nein geht nicht bleibt trotzdem eine valide antwort. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
uenetz Geschrieben 8. Mai 2013 Teilen Geschrieben 8. Mai 2013 In meinen Augen ist das Forum dazu da, um zu helfen, wenn jemand Probleme hat oder Informationen auszutauschen! Richtig! Und das wurde auch gemacht, sogar mit klaren (gut gemeinten) Worten. blöde und unpassende Sprüche sein lassen! Na denn zeig mal wie das geht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GoldkuesstAsphalt Geschrieben 24. Mai 2013 Autor Teilen Geschrieben 24. Mai 2013 (bearbeitet) Na denn zeig mal wie das geht Problem wurde übrigens gelöst, nur zur Vervollständigung. Hast du Variablen mit den Namen ja und nein? Oder meinst du hier Strings? Dann solltest du Anführungszeichen verwenden. Und in Zukunft Option Explicit verwenden, damit dir so etwas sofort um die Ohren fliegt. Ich habe (bevor ich meine Frage hier gepostet habe) Bereits sämtliche Varianten mit "" etc. ausprobiert. Hatte bei mir leider keinen Erfolg. Nun hat ein Kollege genau den gleichen Code eingetippt und siehe da er wird nicht ignoriert. Woran jetzt genau das Problem bei mir lag ist mir völlig egal, hauptsache es funktioniert und ich weiß das ich wohl nicht zu dumm dafür war :marine If Worksheets(1).Cells(75, 4).Value = "ja " Then dest = "Musteremailadresse1; Musteremailadresse2; Musteremailadresse3; " ElseIf Worksheets(1).Cells(75, 4).Value = "nein" Then dest = "Musteremailadresse1; " End If Bearbeitet 24. Mai 2013 von GoldkuesstAsphalt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.