|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.09.2011, 18:27 | #1 |
Регистрация: 15.09.2011
Сообщений: 6
|
Замена меток в Excel
Есть скрипт замены меток в excel-файле, который стабильно работал в 2003 и более старых версиях офиса.
На 2010 работать отказался. Сам скрипт вот такой: ' Замена строки ReplacedText строкой ReplaceWith ' Замена начинается от начала документа ' В течении выполнения данной операции курсор не изменяет своего положения Private Sub ReplaceTextCustom(ReplacedText As String, ReplaceWith As String) Dim oRange As Object 'Word.Range Set oRange = ActiveWorkbook.ActiveSheet.UsedRang e oRange.Replace What:=ReplacedText, _ Replacement:=ReplaceWith, _ LookAt:=xlWhole, _ MatchCase:=False Set oRange = Nothing End Sub ОШИБКА: Run-time Error '-2147417848 (80010108)' Automation error The object invoked has disconnected from its clients Пытался обойти это написав напрямую скрипт из записанного макроса в 2010 офисе - тоже не работает. Cells.Replace What:="$*]"", Replacement:="", LookAt:=xlPart, SearchOrder:= _ xlByRows, MatchCase:=False Тоже не дает, выдает ошибку: Run-time Error '-2147417848 (80010108)' Method 'Replace' of object 'Range' failed Подскажите, что я не так делаю. |
16.09.2011, 02:01 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Ошибка, скорее всего, в чем-то другом.
Это - простейший код, он не должен вызывать ошибок (если вызывается из VBA Excel) Подробнее об этой ошибке: http://support.microsoft.com/default...;en-us;Q319832 Несколько смущает строка Цитата:
Если да - то Word не знает значения встроенных Excel-констант типа xlPart, xlWhole и т.п. Попробуйте так: Код:
|
|
16.09.2011, 15:21 | #3 |
Регистрация: 15.09.2011
Сообщений: 6
|
|
19.09.2011, 16:25 | #4 |
Регистрация: 15.09.2011
Сообщений: 6
|
Утоню как запускается макрос. Наверное стоило это указывать в самом начале.
Это формирование отчета по шаблону excel и отдельно лежащему файлу макроса. Запускается все по следующему алгоритму (написано все на Delphi): 1) открывается шаблон эксель 2) для него запускается макрос командой FApplication.VBE.ActiveVBProject.VB Components.Import(FScriptList[i]) FApplication.Run(FRunMacroName) Здесь FScriptList[i] - полный путь к макросу. Где-то при таком механизме запуска что-то отваливается в 2010 офисе. |
19.09.2011, 16:59 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Доступ к VBProject разрешён?
webmoney: E265281470651 Z422237915069 R418926282008
|
20.09.2011, 12:30 | #6 |
Регистрация: 15.09.2011
Сообщений: 6
|
|
20.09.2011, 12:41 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
То, что макросы выполняются - на 2007/10 не значит, что разрешён доступ к VBProject.
webmoney: E265281470651 Z422237915069 R418926282008
|
20.09.2011, 14:18 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
А зачем вообще всё усложнять?
К чему вообще весь этот импорт макросов в файл? Почему код нельзя сразу поместить в шаблон Excel??? Или, в крайнем случае, почему не выполнить код прямо из Delphi? (код-то простейший, всего одна строка) |
21.09.2011, 10:12 | #9 | |
Регистрация: 15.09.2011
Сообщений: 6
|
Цитата:
Сам инструмент заточен под запуск отдельно шаблона и отдельно макроса. Плюс есть набор библиотек, которые подгружаются при необходимости. Отчетов много, так что тянуть это все в код - не вариант. Соответственно все работает... Кроме замены меток. И та не работает только в 2010 офисе. Последний раз редактировалось bigor; 21.09.2011 в 10:15. |
|
21.09.2011, 10:13 | #10 |
Регистрация: 15.09.2011
Сообщений: 6
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание меток отдельных сегментов таблицы Excel 2010 | own | Microsoft Office Excel | 1 | 29.01.2011 22:12 |
замена обзаца в word из excel | pooli | Microsoft Office Excel | 3 | 21.09.2010 16:17 |
Замена Excel на более скоростную программу. | kola672 | Софт | 14 | 13.09.2010 14:02 |
Замена символа в ОДНОЙ ячейке Excel.... | Al_Sha | Общие вопросы Delphi | 2 | 11.06.2010 21:13 |
Описание меток | Yura_S | Общие вопросы Delphi | 5 | 20.10.2009 22:29 |