Как обновить таблицу таблиц с помощью макроса vba-Word? - PullRequest
0 голосов
/ 02 июля 2018

Я новичок в макросах word-vba (но я отлично разбираюсь в excel-vba), и я хочу обновить «Таблицу таблиц». Я узнал, как это сделать для «Таблицы содержания» и «Таблицы рисунков» (с ActiveDocument.TablesOfContents(1).Update), но Collection TableOfTables не существует. Кто-то знает, что я должен делать?

Заранее спасибо,

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Хорошо, благодаря @macropod я выясняю, как решить мою проблему. «Таблица таблиц» - это не другая таблица содержания, а другая таблица с цифрами Так вот мой финальный код:

Public Sub UpdateAllFiles()
    With ActiveDocument
        .TablesOfContents(1).Update
        .TablesOfFigures(1).Update
        .TablesOfFigures(2).Update
    End With
End Sub
0 голосов
/ 03 июля 2018

Нет объекта «Таблица таблиц» или коллекции TableOfTables. «Таблица таблиц» на самом деле является своего рода «содержанием». В самом деле, это тоже «Таблица цифр». Если вы посмотрите на коды полей, лежащие в их основе, то увидите, что все три используют поле TOC - «Таблица таблиц» и «Таблица рисунков» будут иметь коды полей, такие как {TOC \ h \ z \ c «Таблица» } и {TOC \ h \ z \ c "Figure"} соответственно. Таким образом, если вы хотите обновить любой из этих (или любых пользовательских типов, которые вы создаете), но не обязательно все, вы можете просто перебрать коллекцию TableOfContents и проверить, что следует за переключателем \ c, если он есть. Кроме того, вы можете перебрать коллекцию TableOfContents и обновить все элементы в ней.

...