Microsoft.Office.Interop.Word: добавить подпись к изображению в C # - PullRequest
2 голосов
/ 04 июня 2019

Я создаю файл Word в C #, используя Microsoft.Office.Interop.Word. Я вставляю изображение:

Word.InlineShape pictureShape = paragraph.Range.InlineShapes.AddPicture(img.Url, ref missing, ref missing, ref missing);

но я не могу вставить заголовок для него.

Я пытался использовать:

 pictureShape.Range.InsertCaption("caption");

но это не работает. Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 04 июня 2019

Чтобы ваш код работал «как есть», вам понадобится элемент в вашей коллекции заголовков, который называется «заголовок». Попробуйте «Рисунок», который является одним из ярлыков Word по умолчанию, и посмотрите, работает ли он.

Чтобы добавить собственные метки подписей в коллекцию подписей, вы используете функцию Word.CaptionLabels.Add. И вы должны сделать это в первую очередь, прежде чем пытаться использовать пользовательскую метку в методе InsertCaption.

Если вы хотите, чтобы заголовок читался как "Рисунок # уникальный заголовок", тогда вы используете свойство Title в методе InsertCaption и вставляете туда свой уникальный заголовок.

Вот пример из сообщения MSDN о добавлении вашей собственной метки:

oWordApp.CaptionLabels.Add("Picture");
object caption = oWordApp.CaptionLabels["Picture"];
oWordApp.Selection.InsertCaption(ref caption, ref oLabel, ref missing, ref missing, ref missing);
...