Использование VBA в MS Word 2007 для определения элементов страницы?

StackOverflow https://stackoverflow.com/questions/2163084

  •  24-09-2019
  •  | 
  •  

Вопрос

Я хотел бы иметь возможность создать элемент страницы, в который я могу вводить текст, и он сам сформируется в предпочтительный макет.Например:

{MACRO DocumentIntro("Introduction to Business Studies", "FP015", "Teachers' Guide")}

используя это в качестве поля, выходные данные должны представлять собой строку, первые две строки определенного размера и шрифта по центру, еще одна строка, а затем третья строка с шрифтом, размером и центром.

Я знаю, что это похоже на TeX и, возможно, выходит за рамки VBA, но если у кого-нибудь есть какие-либо идеи, как это может быть возможно, пожалуйста, скажите!

Редактировать:

Хорошо, если я помещу необходимую информацию в ключевое слово, как часть свойств документа, с каким-нибудь уникальным разделителем, то это приведет к вводу этой информации, и информация будет уникальной для каждого документа.Следующий пользователь помещает закладку, где будет отображаться материал.Затем человек создает AutoOpen макрос, который переходит к этой закладке, извлекает релевантные элементы из ключевых слов и соответствующим образом формирует текст в соответствии с .Selection.

Возможно ли это?

Это было полезно?

Решение

Вы, безусловно, на правильном пути в поисках решения для кодирования.Однако есть более простой способ без кода - это сценарий такого типа, для которого были созданы элементы управления содержимым в Word 2007, и с помощью полей / свойств вы можете привязаться к элементам управления содержимым (CC).Эти CC могут содержать стили (например, по центру, жирным шрифтом и т.д.).VBA не требуется.

Самое простое, что можно сделать, это выбрать 3 встроенных свойства документа, которые вы всегда будете использовать.Например, "Заголовок" может быть вашей первой строкой, "Тема" - вашей второй строкой, а "Ключевые слова" - третьей.Затем просто перейдите к Вставить лента, Быстрые Детали, Свойства документа и вставляйте, размещайте и форматируйте их так, как вам нравится.Затем перейдите к кнопке запуска Word (the orb thingy), а затем в Подготовить выбирай Свойства.Здесь вы можете ввести, например "Введение в бизнес-исследования", в Название установите флажок, а затем просто снимите его каким-либо образом (например, щелкните в другом поле).Контроль контента для Название будет автоматически заполнен вашим текстом.

Если вы хотите использовать это для нескольких файлов, просто создайте этот файл как .dotx (после вставки / размещения / форматирования CC и перед обновлением текста свойств документа).Затем каждый раз все, что вам нужно будет делать, это устанавливать эти три свойства для каждого нового файла.

Другие советы

Ну, да, это действительно оказалось осуществимым.

Sub autoopen()
    Dim sKeywords As String
    sKeywords = ActiveDocument.BuiltInDocumentProperties(4)
    ActiveDocument.Bookmarks("foo").Select
    Selection.Text = sKeywords
End Sub

Ладно, мне нужно кое-что заполнить, но, по крайней мере, смелость налицо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top