Имеется Excel c расчётами. Числа из Excel переносились в Word как RTF (скопировал ячейку из excel, alt+ctrl+v в ворде - специальная вставка, alt+z - связать, затем "связать как текст в формате RTF"). Возникла необходимость добавить 1 строку в Excel, и из-за этого все числа в ворде так же сместились на 1 строку. Как это исправить? Не вручную же перебивать все поля в Word снова.
Если Вы прочитаете ПРАВИЛА этого форума, особенно п.2.3, то поймете почему до сих пор не получили помощь. Если же у Вас нет особого желания углубляться в сие чтиво, то могу посоветовать пару графических программ, для редактирования Вашего приложенного фото
Спасибо за ваше замечание. Я не смог приложить файлы в виду ограничение на их вес (более 100 Кб). Приложенное фото, как мне кажется, описывает суть проблемы.
Пример тут особо не поможет, Используйте дополнительный лист, туда поместите необходимые для ворда данные. Формулами подтяните необходимые значения используя функции ВПР и другие и тогда у Вас ничего не будет сдвигаться.
Как мне кажется, что у вас проблема не в Excel. У вас, скорее всего есть некий "вордовский" шаблон, в котором расставлены закладки, в которые и вставляются данные. Поэтому скорее всего нужно редактировать именно шаблон. Но это не лишь моё предположение
написал: Используйте дополнительный лист, туда поместите необходимые для ворда данные.Формулами подтяните необходимые значения используя функции ВПР и другие и тогда у Вас ничего не будет сдвигаться.
Спасибо за ваш ответ. Неплохой вариант, но мне он не подойдёт. У меня есть калькулятор расчётов excel, из него значения подтягиваются в пояснительную записку word. Не буду же я каждый раз ВПРить, если у меня произойдёт изменение расчётов (например, добавится дополнительная строчка или что-то ещё).
Цитата
написал: Поэтому скорее всего нужно редактировать именно шаблон.
Полагаю, что да. Но редактировать шаблон в этом случае означает заново ctrl+c - специальная вставка - связать - вставить число как RTF по всему документу. И делать так каждый раз при изменении расчёта (например, добавится дополнительная строчка или что-то ещё) никакого времени не хватит. Спасибо за ваш ответ.
Елис Мартьянов написал: Приложенное фото, как мне кажется, описывает суть проблемы.
Вам так кажется, точнее результат то проблемы описан, но как к нему приходите, не говорится. Это слияние? макрос? Если слияние, то скорее всего в поле стоит NEXTRECORD и надо грамотно изменить в шаблоне. Если макрос, то нужно смотреть метки по которым расставляется и корректировать его или метки в шаблоне. Если просто залинкованы данные, то скорее всего придется проделывать тяжкую работу по всему документу, или писать макрос корректирующий связи, меняя в thisdocument.Fields(1).Code.Text адрес ячейки
Не знаю. Для меня это тёмный лес. Буду изучать в будущем...
Связывал данные между эксель и ворд по принципу: скопировал ячейку из excel, alt+ctrl+v в ворде - специальная вставка, alt+z - связать, затем "связать как текст в формате RTF".
Sub LEdit()
Const insertedrow = 47
For Each Field In ThisDocument.Fields
FCT = Split(Split(Field.Code.Text, """")(3), "!")(1)
Row = CLng(Mid(Split(FCT, "C")(0), 2))
If Row >= insertedrow Then
' Debug.Print Field.Code.Text
' Debug.Print Replace(Field.Code.Text, FCT, Replace(FCT, "R" & Row, "R" & Row + 1))
Field.Code.Text = Replace(Field.Code.Text, FCT, Replace(FCT, "R" & Row, "R" & Row + 1))
End If
Next
End Sub
insertedrow = 47 - номер вставленной строки, все что ниже будут перелинкованы с новым адресами смещенными на 1
честно говоря, нет. я добавил модуль, вроде даже запустил его. ожидаемого результата не увидел. я определённо что-то делаю не так, так не владею VBA и макросами совсем. возможно ваш ответ пригодится кому-то более продвинутому. воровать ваше время больше не хочу. спасибо за оперативный ответ ещё раз.