Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 03.06.10 19:24 
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:

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Do 03.06.10 20:54 
Oh, sorry. Ich habe den Code vergessen, mit dem es in meiner eigenen Vorlage funktioniert.


ausblenden 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);

//aDoc.Activate();

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);

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 04.06.10 17:23 
Hi,

so, ich habe jetzt eine Lösung gefunden. Ich lösche einfach diese blöden Textfelder mit:

ausblenden 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!

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: 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.


ausblenden 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......

_________________
Gruß
Christoph