#0
by ildus
Есть несколько сотен XLS файлов, в каждом десятки листов. В каждом листе формулы со ссылкой на другие XLS файлы. Необходимо во всех файлах в формуле сделать замену подстроки "\user1cМои Документы" на "С:Мои документы". Как это сделать автоматом во всех книгах на всех листах?
#1
by manyak
VBA, внешний цикл по файлам, внутренний по листам книги (файла), внутренний по ячейкам - правишь формулу.
#4
by Ivan093
Примерно так: Set AWB = Application.ActiveWorkbook aLinks = AWB.LinkSources(xlExcelLinks) If Not IsEmpty(aLinks) Then For i = 1 To UBound(aLinks) OldL = aLinks(i) NewL = Replace(OldL, СтрокаИсх, СтрокаЗамены) If OldL <> NewL Then AWB.ChangeLink Name:=OldL, NewName:=NewL, Type:=xlExcelLinks End If Next i End If
#5
by NikVars
Я командой dir *.*/b > "c:101010.txt" сделал список файлов с их путями Далее рубал процедурой... Даю тебе без заточки для тебя. Процедура ЗаполнитьТаблицу Если НужныйФайлВыбран=0 Тогда Предупреждение("Не выбран txt-файл!!! Выберите файл."); Возврат; КонецЕсли; Сообщить("Загрузка данных из xls-файла..."); ТаблицаЗаполнена=0; //Заполнил таблицу путей... ТФайл=СоздатьОбъект("Текст"); ТФайл.Открыть(НужныйФайл);//Файл с путями... НачатьТранзакцию; ТД.УдалитьСтроки; Для Н=1 По ТФайл.КоличествоСтрок Цикл Стр = ТФайл.ПолучитьСтроку(Н); ТД.НоваяСтрока; ТД.Н=Н; ТД.Путь="c:123Документы200806"+Стр+"200806_СФ_"+Стр+".XLS"; КонецЦикла; //Лезем в файл и заменяем... Эксел= СоздатьОбъект("Excel.Application"); Для Н=1 По ТД.КоличествоСтрок Цикл ТД.ПолучитьСтрокуПоНомеру(Н); ФайлЭксел = Эксел.Workbooks.Open(ТД.Путь); //Открываем файл НашЛист = ФайлЭксел.Sheets; //Устанавливаем нужный лист //КолСтрокЭксел=Эксел.Cells(1,1).SpecialCells.Row; //Так можно узнать количество строк в таблице Эксел!!! //КонСтр=КолСтрокЭксел; ТД.ЧтоЗаменять1=Строка(НашЛист.Cells(6,2).Value); ТД.ЧтоЗаменять2=Строка(НашЛист.Cells(7,2).Value); Если Найти(ТД.ЧтоЗаменять2,"Семёнов")=0 Тогда ТД.ЧтоУдалить=1; КонецЕсли; Состояние("Заполнение данных: "+Н+" из "+ТД.КоличествоСтрок); Эксел.WorkBooks.close; Эксел.Quit; //Тест Если (Н>100) и (Тест=1) Тогда Прервать; КонецЕсли; КонецЦикла; //Н = НачСтр ТД.ВыбратьСтроки; Пока ТД.ПолучитьСтроку=1 Цикл Пока (ТД.ЧтоУдалить=1) и (ТД.НомерСтроки<>0) Цикл ТД.УдалитьСтроку; КонецЦикла; КонецЦикла; ЗафиксироватьТранзакцию; Сообщить("Загрузка данных из txt-файла завершена!!! Количество строк = "+ТД.КоличествоСтрок); ТаблицаЗаполнена=1; КонецПроцедуры //ЗаполнитьТаблицу
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- из XLS в 1С - как узнать количество строк в XLS ?
- как из обыхного файла xls без листов. сделать книгу
- Закрытие месяца. Бух просит сделать вместо Д90.8.1 - К26 сделать Д90.2 - К26
- Как сделать в УТ8.0 сделать реализацию по нескольким заказам
- Как можно серый ip сделать белым если сделать у провайдера это нельзя
- Можно ли сделать элемент формы "подменю" сделать недоступным для разворачивания?
- Можно ли сделать реквизит таб. части, сделать недоступным в отдельных строках?
- ТабДок.Записать("Имя.xls"); Показать("Имя.xls"); Save... mxl вместо xls...
- Конвертация. Как лучше сделать? Как вообще сделать?
В этой группе 1С
- Создать начальный образ.
- ЗУП: Расшифровка в расчетном листке
- RE: вопрос по теме "Срез последних на каждую дату в запросе"
- Сохранение Web-страницы средствами 1C 8.1
- как в SQL обратится к таблице сформированной в менеджере временных таблиц?
- Как программно изменить субконто в проводках
- Как записать файл в формате xml ?
- Как удалить aladdin usb key?
- УПП. Не заполняются реквизиты док-та "Расчет при увольнении работника организаций"
- Вложенное письмо ексел не открывается
- 1С:ТОИР Управление ремонтами и обслуживанием оборудования от Ремонт-Эксперт?
- Формирование 2НДФЛ в УПП
- Долгая печать из 1С
- Превышение максимального количества видов субконто
- УПП: Для чего нужен регистр Свободные остатки.
- Как в отчете созданном с использованием компоновки данных задать шапку
- Перекодировка текста средствами 1С
- Получить данные из регистра накопления на определенную дату
- ЗУП: Перерасчет НДФЛ за декабрь в январе следующего года
- Ошибка при проведении РТиУ