Здравствуйте. Есть такая потребность: в документе, в тексте (не в таблице) встречаются цифры взаимосвязанные определенными простыми формулами (на уровне +,-,х,/). Нужно брать одно значение из текста, пропускать его через заданную формулу и выводить ответ в другое место текста. Как вы могли догадаться по вопросу с макросами, к сожалению, я не дружен. Вариант связки с Excelем пробовал, только через вставку ячеек в текст, но не устраивает, что из-за ячеек съезжает текст - получается довольно криво. Может можно как-то сделать более красиво через Excel или еще как-то.
Например: Годовой расход составил 4 м3/год, что соответствует 2т/год. Где 2 и 4 связаны через формулу 4/2=2
почитал гугл - понял, что более подходящий вариант - макрос, только беда - не шарю в них нифига. Может кто-то показать как примерно, хотя бы, должен выглядеть макрос для переноса из таблицы Excel в текст (не таблица а вкрапления в сам текст документа) определенных ячеек.
нашел такой макрос [vba]
Код
Sub FillingWordFile() Dim WD Dim XL As Excel.Application Set WD = CreateObject("Word.Application") WD.Visible = True WD.Documents.Open Filename:=Application.ThisWorkbook.Path & "\название файла.doc"
почти то что надо, но он вставляет ячейку, и к тому же в нее запихивается весь абзац до закладки, а мне надо, чтоб вставлялось только значение без ячейки. Может кто-то научить как это правильно реализовать?
Спасибо, за ответы и за дельные советы. Очень жду.
Здравствуйте. Есть такая потребность: в документе, в тексте (не в таблице) встречаются цифры взаимосвязанные определенными простыми формулами (на уровне +,-,х,/). Нужно брать одно значение из текста, пропускать его через заданную формулу и выводить ответ в другое место текста. Как вы могли догадаться по вопросу с макросами, к сожалению, я не дружен. Вариант связки с Excelем пробовал, только через вставку ячеек в текст, но не устраивает, что из-за ячеек съезжает текст - получается довольно криво. Может можно как-то сделать более красиво через Excel или еще как-то.
Например: Годовой расход составил 4 м3/год, что соответствует 2т/год. Где 2 и 4 связаны через формулу 4/2=2
почитал гугл - понял, что более подходящий вариант - макрос, только беда - не шарю в них нифига. Может кто-то показать как примерно, хотя бы, должен выглядеть макрос для переноса из таблицы Excel в текст (не таблица а вкрапления в сам текст документа) определенных ячеек.
нашел такой макрос [vba]
Код
Sub FillingWordFile() Dim WD Dim XL As Excel.Application Set WD = CreateObject("Word.Application") WD.Visible = True WD.Documents.Open Filename:=Application.ThisWorkbook.Path & "\название файла.doc"
почти то что надо, но он вставляет ячейку, и к тому же в нее запихивается весь абзац до закладки, а мне надо, чтоб вставлялось только значение без ячейки. Может кто-то научить как это правильно реализовать?
Спасибо, за ответы и за дельные советы. Очень жду.Стас86
Сообщение отредактировал Стас86 - Четверг, 10.11.2016, 01:27
Здравствуйте. Если формулы простые, то, возможно, Excel и не нужен. Прежде всего включите в Параметрах Word режим отображения закладок и параметр Затенение полей установите Всегда. Дальше выделите текст с исходным числом и создайте закладку (Вставка -- закладка), вокруг текста должны появиться квадратные скобки (на печать не выводятся). В Вашем примере выделяем 4 и создаём закладку с именем, например, расход. На месте будущей формулы вставляем поле Вставка -- Поле -- Формула и пишем формулу =расход/2. При изменении исходного значения важно не удалить закладку, поэтому рекомендуется сначала ввести новое значение, а затем удалить старое. Для обновления результата правой кнопкой мыши по полю с формулой -- Обновить поле или выделить и нажать F9. Если таких полей в документе много, можно выделить весь текст и нажать F9. Автоматически поля обновляются перед печатью.
Здравствуйте. Если формулы простые, то, возможно, Excel и не нужен. Прежде всего включите в Параметрах Word режим отображения закладок и параметр Затенение полей установите Всегда. Дальше выделите текст с исходным числом и создайте закладку (Вставка -- закладка), вокруг текста должны появиться квадратные скобки (на печать не выводятся). В Вашем примере выделяем 4 и создаём закладку с именем, например, расход. На месте будущей формулы вставляем поле Вставка -- Поле -- Формула и пишем формулу =расход/2. При изменении исходного значения важно не удалить закладку, поэтому рекомендуется сначала ввести новое значение, а затем удалить старое. Для обновления результата правой кнопкой мыши по полю с формулой -- Обновить поле или выделить и нажать F9. Если таких полей в документе много, можно выделить весь текст и нажать F9. Автоматически поля обновляются перед печатью.Pelena
Прежде всего включите в Параметрах Word режим отображения закладок и параметр Затенение полей установите Всегда. Дальше выделите текст с исходным числом и создайте закладку (Вставка -- закладка), вокруг текста должны появиться квадратные скобки (на печать не выводятся). В Вашем примере выделяем 4 и создаём закладку с именем, например, расход. На месте будущей формулы вставляем поле Вставка -- Поле -- Формула и пишем формулу =расход/2
Так и есть - это оно - все, что надо в формуле можно прописать (боялся, что округления не будет, и даже степени есть). Этот вариант, пожалуй, самый простой и подходящий для моей задачи. Хорошо быть знающим. Спасибо Вам огромное.
Прежде всего включите в Параметрах Word режим отображения закладок и параметр Затенение полей установите Всегда. Дальше выделите текст с исходным числом и создайте закладку (Вставка -- закладка), вокруг текста должны появиться квадратные скобки (на печать не выводятся). В Вашем примере выделяем 4 и создаём закладку с именем, например, расход. На месте будущей формулы вставляем поле Вставка -- Поле -- Формула и пишем формулу =расход/2
Так и есть - это оно - все, что надо в формуле можно прописать (боялся, что округления не будет, и даже степени есть). Этот вариант, пожалуй, самый простой и подходящий для моей задачи. Хорошо быть знающим. Спасибо Вам огромное.Стас86