Entwickler-Ecke
Sonstiges (.NET) - Interop-> Image in Word positionieren
Christoph1972 - Do 03.06.10 19:24
Titel: Interop-> Image in Word positionieren
Hi,
ich schaffe es einfach nicht ein Image an eine bestimmte Position in einer Wordvorlage zu setzen. Und zwar muss ich ein Image in ein Textfeld setzen, das sich wiederum in einer Tabelle befindet. Die Vorlage ist nicht von mir, wenn ich eine eigene erstelle ist es kein Problem. Bisher habe ich die Position lediglich über Paragraphen gesetzt, was ja eigentlich auch reichen sollte. Gibt es eine Möglich das Textfeld direkt anzusprechen? Ich habe schon den halben Tag damit verbracht, ich komme einfach nicht weiter. Ich weis auch nicht was sich der Programmierer dabei gedacht hat ein Image in eine Textbox zu platzieren, das kann doch gleich in die Tabelle. Hm, wenn man nicht alles selbst macht... :lol:
Christoph1972 - Do 03.06.10 20:54
Oh, sorry. Ich habe den Code vergessen, mit dem es in meiner eigenen Vorlage funktioniert.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| ApplicationClass myWordApp = new ApplicationClass();
myWordApp.Visible = true;
object wordPattern = @"C:\PrVorlage1.dot"; object newDoc = false; object documentType = 0; object visible = true;
Document aDoc = myWordApp.Documents.Add(ref wordPattern, ref newDoc, ref documentType, ref visible);
object linkToFile = false; object saveWithDocument = true; object range = aDoc.Paragraphs[8].Range; myWordApp.Selection.InlineShapes.AddPicture(@"C:\ForumPic3.jpg", ref linkToFile, ref saveWithDocument, ref range); |
Christoph1972 - Fr 04.06.10 17:23
Hi,
so, ich habe jetzt eine Lösung gefunden. Ich lösche einfach diese blöden Textfelder mit:
C#-Quelltext
1: 2:
| object index = 1; aDoc.Shapes.get_Item(ref index).Delete(); |
und setzte das Image gleich in die Tabelle. By the way, die Doku zu Interop ist echt klasse....
Ich lasse das Thema mal als nicht erledigt stehen, da die eigentliche Frage ja nicht beantwortet ist.
Vielen Dank an alle, die sich mit dem Thema beschäftigt haben!
Christoph1972 - Mo 07.06.10 21:43
Hi,
ich musste mich noch mal mit dem Thema auseinandersetzen, da mein Workaround nicht ausgereicht hat. Ich habe wohl den Wald vor lauter Bäumen nicht gesehen, na ja die Interop Geschichte ist ja auch recht Umfangreich. Jedenfalls habe ich in einer ruhigen Minute die Lösung entdeckt.
C#-Quelltext
1: 2: 3:
| object indexTextBox = 1; Shape wordTextBox = aDoc.Shapes.get_Item(ref indexTextBox); wordTextBox.Fill.UserPicture(myImage); |
Und dabei ist es doch so trivial......
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!