Laden...

Forenbeiträge von iceman962 Ingesamt 16 Beiträge

27.09.2016 - 08:34 Uhr

Hallo,
habe mich mit dem Problem nochmal befasst und bin auf das Ergebnis gekommen, dass die Methode

(string)pacc.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")

nicht immer das richtige Ergebniss liefert, warum auch immer 😉
Daher wird die ConentID falls kein Leerstring im HTMLBody gesucht, falls die dort nicht vorkommt handelt sich tatsächlich um ein Attachment.


protected bool IsAttachmentValid(Outlook.Attachment attachment, Outlook.MailItem mail)
        {
            var body = mail.HTMLBody;
            Outlook.PropertyAccessor pacc = attachment.PropertyAccessor;
            string strContentID = (string)pacc.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F");
            if ((strContentID == string.Empty || body.IndexOf(strContentID) == -1) && attachment.Type != Outlook.OlAttachmentType.olOLE)
            {
                    try
                    {
                        byte[] filebyte = (byte[])pacc.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x37010102");
                        if (filebyte.Length > 0)
                        {
                            return true;
                        }
                    }
                    catch (Exception)
                    {
                    }
                }

            }
            return false;
        }
08.09.2016 - 10:10 Uhr

die Methode ist nicht von mir, ich soll es halt ausbessern. 😦 habe aber noch nie outlookaddins programmiert, bin also in dem Bereich ein Anfänger.

Jetziges verhalten:

  1. es wird erkannt wenn z.B. eine defekte PDF Datei im Anhang gesendet wurde. Die wird dann als fehlerhaft makiert.
  2. wenn eine Dateien größer ist als erlaubt, wird sie ebenfalls fehlerhaft makiert, obwohl mit der Datei alles in Ordnung ist nur halt die größe nicht.
  3. ist ein Attachment kleiner als die Größe "X" und alles andere stimmt, ist die Datei validiert und die wird freigegeben.

So wie ich es verstanden habe, sind die Kriterien für eine valide Datei in dem Schema "http://schemas.microsoft.com/mapi/proptag/0x3712001F" von Microsoft definiert. Kann aber es nicht "öffnen" und schauen was da definiert ist bzw. was da genau passiert.
Ich glaube mein Vorgänger, hat es auch nur einfach kopiert, ohne sich gedanken zu machen was da genau passiert 😉

08.09.2016 - 08:23 Uhr

Hallo,
ich habe eine Hilfsmethode, die überprüft ob die Email Anhänge fehlerhaft sind oder nicht.
Es funktioniert auch wunderbar, leider sagt der mir aber auch bei Anhängen die entwas größer sind z.B. 6Mb, dass dieser Anhang fehlerhaft sei, was nicht der Fall ist.

bool IsAttachmentValid(Outlook.Attachment attachment)
        {
            string strCID = (string)attachment.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F");
.....
}

Leider finde ich keine genauen Informationen was dieses SchemaName "http://schemas.microsoft.com/mapi/proptag/0x3712001F" genau macht.

Was muss ich machen, damit der mir bei großen Dateianhängen keinen Fehler zurück gibt?

03.03.2016 - 08:41 Uhr

Hallo,
wie kann ich in einem Worddokument Tabellen mehrmals kopieren bzw. klonen?

23.02.2016 - 11:55 Uhr

hab den Fehler gefunden.

in den Zeilen:
Falsch:
paragraph.AppendBookmarkStart("Titel 2");
paragraph.AppendBookmarkEnd("Titel 2");

dürfen die Strings keine Leerzeichen enthalten!!!!

Richtig:
paragraph.AppendBookmarkStart("Titel2");
paragraph.AppendBookmarkEnd("Titel2");

23.02.2016 - 10:42 Uhr

Hallo Leute,
wie kann ich in einem Worddokument mehrere Querverweise mit Syncfusion benutzen?
Ich hab das Problem, dass der bei mir immer den ersten erzeugten Bookmark als Querverweis setzt.

Beispiel:


public void CrossReference()
        {
            WordDocument document = new WordDocument();
            IWSection section = document.AddSection();
            IWParagraph paragraph = section.AddParagraph();
            paragraph.AppendBookmarkStart("Titel");
            paragraph.AppendText("Punkt 1\n");
            paragraph.AppendBookmarkEnd("Titel");
            paragraph.AppendText("BEISPIEL TEXT 1\n");

            paragraph.AppendBookmarkStart("Titel 2");
            paragraph.AppendText("Punkt 2\n");
            paragraph.AppendBookmarkEnd("Titel 2");
            paragraph.AppendText("BEISPIEL TEXT 2\n");

            section.AddParagraph();
            paragraph = section.AddParagraph() as WParagraph;
            //Gets the collection of bookmark start in the word document
            List<Entity> items = document.GetCrossReferenceItems(ReferenceType.Bookmark);

            paragraph.AppendText("Querverweis 1 -> ");
            paragraph.AppendCrossReference(ReferenceType.Bookmark, ReferenceKind.ContentText, items[0], true, false, false, string.Empty);
            paragraph.AppendText("Querverweis 2 -> ");
            paragraph.AppendCrossReference(ReferenceType.Bookmark, ReferenceKind.ContentText, items[1], true, false, false, string.Empty);
            
            //Updates the document Fields
            document.UpdateDocumentFields();
            document.Save("CrossReference.docx", FormatType.Docx);
            document.Close();
        }

Ergebnis:

Punkt 1
BEISPIEL TEXT 1
Punkt 2
BEISPIEL TEXT 2

Querverweis 1 -> Punkt 1
Querverweis 2 -> Punkt 1 <- Hier hätte ich aber Punkt 2 erwaret

19.05.2015 - 15:57 Uhr

Ist Gestesteuerung mit WinForms Steuerelement überhaupt möglich?

Bei dieses Beispiel:
https://msdn.microsoft.com/en-us/library/dd940542%28v=vs.85%29.aspx

wird ein GDI verwendet und kein Panel.

19.05.2015 - 07:38 Uhr

Ja, ich bin mir sicher, dass ich ein Mulittouch Display habe.

Danke erstmal für die Tipps, werde mal die vorhadene DLLs verwerfen und werde mich bestimmt nochmal melden 😉

18.05.2015 - 14:35 Uhr

Hi FZelle,
ich habe das Projekt übernommen und laut der minimalen Doku (konnte man sich genauso sparen) sind die Dlls von hier:

http://code.msdn.microsoft.com/WindowsTouch

Leider sind die nicht mehr vorhanden, aber scheinbar von Microsoft zuverfügung gestellt.
Da die Sachen schon referenziert waren, versuche ich es mit den Dlls.

Da ich keine Erfahrungen mit (Multi)Touch Anwendungen habe tue ich mir recht schwer damit.

Hättest du vielleicht paar Seiten wo ich mich über die Gestensteuerung informieren kann? MSDN Seite wird immer schlechter, finde ich.

Leider konnte ich auch kein eBook finden wo die Mulittouch funktionen beschrieben werden.

18.05.2015 - 13:50 Uhr

Hallo Leute,
ich versuche seit einigen Tagen Gestensteuerung für eine WinForms Anwendung zu implementieren. Dazu benutze ich die Window7.multitouch.dll und windows7.multitouch.winforms.dll.

Ich will die standard Gesten für Zoom, Rotation umsetzten. Doch leider komme ich nicht weiter, weil ich es nicht schaffe ein GestureEventArgs auszulösen. TouchEventArgs funktioniert ohne Probleme, die Buttons reagiren direkt nur bei den GesturEventArgs happerts es.


 private GestureHandler gestureHandler;
        
        public Form1()
        {
            InitializeComponent();
            
            if (TouchHandler.DigitizerCapabilities.IsMultiTouchReady)
            {
                gestureHandler = Factory.CreateHandler<GestureHandler>(this);
                gestureHandler.Begin += new EventHandler<GestureEventArgs>(this.gestureHandler_Zoom);
                
            }
        }


        private void gestureHandler_Zoom(object sender, GestureEventArgs e)
        {
            
            
        }

Bedanke mich jetzt schon für die Tipps und Anregungen.

28.11.2013 - 09:19 Uhr

Hallo Leute,

ich habe ein Diagramm, wo die X-Achse logarithmisch dargestellt ist.
Der Wertebereich ist von 0-4000.
Die Skalierung soll auch so bleiben nur der Bereich den ich Anzeige will soll dynamisch bleiben.

z.B. Wenn mein erster Punkt erst bei x = 35 ist. Soll dieser Punkt quasi mein Nullpunkt sein.

Wenn ich das so mache:

chart1.ChartAreas[0].AxisX.Minimum = 35

Dann nimmt der das Minimum als Basis und berechnet die X-Achse neu.
Der soll aber nur ab "35" die Messkurve anzeigen.

mit
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(35, 1000);

funktioniert es, wenn
chart1.ChartAreas[0].AxisX.IsLogarithmic = false;

sobald ich aber IsLogarithmic = true setzte, kann er es nicht mehr anzeigen.

Eine Idee woran es liegen könnte?

02.05.2013 - 17:24 Uhr

Hallo,
hab mehrere *.proto Dateien von Drittanbieter die ich in C# nutzen muss und dann entsprechende Botschaften senden.
Wie kann ich von solcher *.proto Datei ein Objekt erzeugen?

19.02.2007 - 21:52 Uhr
string anzahlTab = wordApp.ActiveDocument.Tables.Count.ToString();

der sieht meine Tabelle in den Worddokument weil der eine 1 liefert.

jetzt versuche ich mit der Tabelle zu arbeiten...

Word.Table tbl = rng.Tables.Application.Selection.Tables[1];

bekomme aber folgende Fehlermeldung:

Das angeforderte Element ist nicht in der Sammlung vorhanden.

ich weiss es wirklich nicht wie ich auf die tabelle zugreifen soll, kann mir keiner helfen?

19.02.2007 - 15:33 Uhr

nein hab ich nicht.....

eigendlich brauche ich nicht viel..

wie ich auf eine textmarke zugreife weiss ich schon
z.b.
.
.
wordApp.ActiveDocument.FormFields.get_Item(ref object)........

in den word dokument heißt die tabelle "tabelle 1"
wie kann ich auf die tabelle zugreifen, damit ich die zellen befüllen kann? 🙁

17.02.2007 - 10:39 Uhr

Hallo Leute,
ich hab ein word dokument mit einer Tabelle, die ist vorgegeben. kann ich auf die tabelle jetzt zugreifen und die befüllen, wenn ja wie? 😉
oder muß ich erst eine tabelle mit c# erstellen?

08.02.2007 - 07:38 Uhr

Hallo Leute,
ich bin schon am verzweifeln.
ich will mit hilfe von einer WinApp in word doku checkbox aktivieren bzw. deaktivieren. wie mache ich das?
habe schon in worddokument kontrollkästchen formular felder definiert kann aber nicht drauf zugreifen 🙁
mit textformularfelder funktioniert es wunderbar.
für eure hilfe wäre ich sehr dankbar