Страницы: 1
RSS
Как разорвать связи из командной строки?
 
У меня есть Excel c ссылками на на другие книги. Можно ли как-то из командной строки (или vbs-скрипт) разорвать ссылки, вместо них только значения останутся и сохранить файл?
Проблема в том, что файл формируется автоматически и копируется пользователям, а у тех при открытии начинаются проблемы. Вот и хочу чтобы им только значения в ячейках передавались.  
 
Можно заменить в ячейке формулы на их значения (Ctrl+C, ПКМ - специальная вставка - значения). Потом сохранить и разослать пользователям.
Кому решение нужно - тот пример и рисует.
 
суть в том, чтобы это делалось автоматически, без участия админа
 
Я на панель быстрого доступа вывел кнопку "Вставить значения" очень часто ей пользуюсь, + когда надо вставть без сохранения форматирования она тож помогает)
Или вот макрос из макрорекордера.
Код
Sub copy_values()
    Range("A1:A10").Select ' указать диапазон копируемых данных
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Изменено: venom51 - 13.11.2019 17:49:45
 
Еще гугл иногда помогает попробуйте
не знаю можно ли на другие ресурсы ссылаться, но думаю копировать сюда чужой код и выдавать за свой вообще не камельфо) так что лучше пусть меня забанят за ссылки на другие ресурсы)
 
Ну для командной строки вариант оборвать связи, при установленном приложении через vbs иди ps1 ... , а можно распаковать, удалить и запаковать, но это для определенных форматов. Я б предпочел первый вариант и часть кода по ссылке выше есть. Останется только перебор, файлов с вызовом приложения через com..
Разве что я б так записал
Код
    WorkbookLinks = wb.LinkSources(Type:=xlLinkTypeExcelLinks)
    If IsArray(WorkbookLinks) Then
        For Each WorkbookLink In WorkbookLinks
            wb.BreakLink Name:=WorkbookLink, Type:=xlLinkTypeExcelLinks
        Next
    End If
Изменено: БМВ - 13.11.2019 19:39:19
По вопросам из тем форума, личку не читаю.
 
БМВ, этот текст макроса? его надо как-то в vbs-файл перевести?
 
Это часть макроса , а VBS  в данном конкретном случае будет иметь тот же вид, которая обрывает связи в книге wb.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх