Ошибка excel application import module winrik
1. Откройте рабочую книгу Excel, в которую планируете импортировать модуль. Для импорта модуля в Личную книгу макросов, откройте любую книгу.
2. Откройте редактор VBA сочетанием клавиш Alt+F11 (в этом сочетании используется левая клавиша Alt). Обратите внимание на наличие в окне редактора VBA окна проводника «Project-VBAProject», обычно, расположенного слева. При отсутствии, отобразите его через главное меню, выбрав «View» — «Project Explorer».
3. В окне проводника «Project-VBAProject» найдите строку «VBAProject (ИмяКниги)», где «ИмяКниги» — это имя книги, в которую вы собираетесь импортировать модуль. Если вы желаете импортировать модуль в Личную книгу макросов, строка называется «VBAProject (PERSONAL.XLSB)». Если у вас нет Личной книги макросов — создайте ее.
4. У выбранной строки раскройте все крестики слева.
5. Откройте контекстное меню, кликнув правой кнопкой мыши на строке «ЭтаКнига», и выберите в нем пункт «Import File…».
6. В открывшемся окне выбора файла найдите импортируемый модуль с расширением .bas и дважды кликните по нему, или кликните один раз и нажмите кнопку «Открыть». Модуль импортирован и отобразился в проводнике под именем «Module» с очередным номером, независимо от имени импортируемого файла.
7. Если вы импортировали модуль в Книгу Excel 2007-2016 с расширением .xlsx, ее необходимо будет пересохранить как «Книга Excel с поддержкой макросов (.xlsm)», иначе импортированный модуль не сохранится.
Инструкцию с картинками вы можете посмотреть здесь в параграфе «Пользовательская функция «СуммаПрописью».
Экспорт модуля в редакторе VBA
1. Откройте рабочую книгу Excel, из которой вы планируете экспортировать модуль. Для экспорта модуля из Личной книги макросов, откройте любую книгу.
2. Откройте редактор VBA сочетанием клавиш Alt+F11 и в окне проводника «Project-VBAProject» найдите экспортируемый модуль.
3. Откройте контекстное меню, кликнув правой кнопкой мыши на экспортируемом модуле, и выберите в нем пункт «Export File…».
4. В открывшемся окне выберите папку, куда следует сохранить экспортируемый модуль, если необходимо, измените название сохраняемого файла, и нажмите кнопку «Сохранить». Модуль экспортирован и отобразился в выбранном каталоге с указанным именем и расширением .bas.
Удаление модуля в редакторе VBA
1. В окне проводника «Project-VBAProject» найдите удаляемый модуль.
2. Откройте контекстное меню, кликнув правой кнопкой мыши на удаляемом модуле, и выберите в нем пункт «Remove Module…» с номером удаляемого модуля.
3. VBA Excel предложит экспортировать модуль перед удалением, нажмите «Да», если хотите сохранить модуль, или «Нет», чтобы удалить без сохранения.
Как удалить стандартный модуль с помощью кода VBA Excel, смотрите в последнем параграфе статьи Программное создание модуля.
Программный экспорт-импорт модуля
Пример программного экспорта стандартного модуля "Module1" из книги "Книга2.xlsm" и импорта его в книгу "Книга3.xlsm" с помощью кода VBA Excel:
1. Создаем новую локальную смету и нажимаем кнопку "Выпуск". В новом окне жмём кнопку "Единый блок обмена АРПС 1.10"
2. Находим файл АРПС (лежит в папке, где был распакован файл обработки данных) и жмем кнопку "Открыть"
3. Жмем кнопку "Далее"
4. По умолчанию стоит кодировка "DOS". Ничего менять не надо, жмем кнопку "Принять"
5. Выбираем из какой программы импортируем данные и жмем кнопку "Принять"
6. Что бы перевызвать расценки, выбираем меню ДЕЙСТВИЕ -> ВОССТАНОВИТЬ БАЗОВЫЕ ЗНАЧЕНИЯ РАСЦЕНКИ -> ДЛЯ ВСЕЙ СМЕТЫ
av_00, С грехом пополам получилось, вроде бы. Объединил ячейки, настроил столбцы как у вас на картинке, запустил конвертер. Все равно выскакивает окошко, что неправильное коли-во. При отмене или принятии в конце сметы в программе много мусора. Если его удалить, то получается как в прикреплении. И по умолчании на вкладке Типы нормативов стоит галочка Строительные материалы по Ц1 и Ч1.
Все равно выскакивает окошко, что неправильное коли-во. При отмене или принятии в конце сметы в программе много мусора. Если его удалить, то получается как в прикреплении. И по умолчании на вкладке Типы нормативов стоит галочка Строительные материалы по Ц1 и Ч1.
А при чём здесь листы "Базовые цены. " (фрагмент одного из которых отображен в Вашей первой картинке). Они для создания сметы из файла XLS совсем не нужны.
Для конвертации сделайте файл только с одним листом (убрав формулы операцией "Выделить всё/Копировать/Специальная вставка/Вставить только значения"), на котором будет только смета со столбцами:
• шифр и количество – обязательные,
• наименование, ед.изм, цены и т.д. – по необходимости.
Всё остальное для конвертера (да и для создаваемой сметы) – мусор.
Это касается Вашей первой картинки, такой лист не нужно конвертировать.
А если лишние листы удалить лень, то в настройках при импорте на вкладке "Фильтр исходных данных" установите флажок "Фильтр по диапазону исходных данных (листов Excel). " и значение номера листа (как правило "1").
Для Вашего случая установки могут выглядеть так:
ничего не сказано - какой интервал мне установить: 1 или 0? и нужно ли указывать путь для резервных копий?
Параметры автоматического сохранения архива строек можно установить в главном окне программы командой меню "Администратор->Автоматическое резервное копирование архива строек. ".
В появляющемся окне "Автоматическое резервное копирование архива строек" нужно поставить верхнюю галочку "Автоматическое резервное копирование архива строек", выбрать интервал копирования в днях, и довольно странно, что необходимую для Вашей работы частоту создания резервных копий Вы запрашиваете на форуме. Если хотите делать резервную копию один раз в день – ставьте 1, один раз в неделю – ставьте 7, один раз в месяц – ставьте 30, каждый раз при выходе из программы – ставьте 0. Выбирать Вам, а не пользователям форума.
Путь для резервных копий тоже необходимо установить – создайте для этих целей папку на жестком диске и укажите путь к ней.
Максимальное количество резервных копий означает, что если в папке с резервными копиями уже сохранено количество, равное максимальному, то новая копия будет туда сохранена взамен самой старой папки.
Попробуйте вот так:
Выйдете из РИК'а.
Очистите папку /RIK/SM_R/RAB/Null/.
Проделайте следующие операции (я об этом где-то на форуме говорил, искать лень, поэтому повторюсь):
1. Отключите для папки RIK и всех вложенных индексацию (как системой, так сторонними поисковиками, если они установлены в системе)
2. Снимите атрибуты "Только чтение" с каталога UTILS\WinRIK и со всех нижележащих файлов и каталогов.
3. Снимите атрибут "Только для чтения" с папки . \RIK\SM_R\RAB и всех вложенных (лучше FAR'ом)
а) не в , а в - это другая вкладка в исключениях у каспера.
Там нажимаете "Добавить", показываете касперу файл winrik.exe, ставите галочки:
• Не проверять открываемые файлы
• Не контролировать активность программы
• Не контролировать активность дочерних программ
б) В настройках файлового антивируса укажите типы проверяемых файлов - Файлы, проверяемые по расширению.
Добавьте исключение для файлов по маске *.dbf, *.mdx чтобы они не проверялись файловым антивирусом.
в) там же уберите галочку напротив строки - "Проверять архивы".
проверьте настройки ВДЕ вот по этому образцу (рекомендации разработчиков РИК):
----------------------------------------------------------------------
1. Необходимо зайти в "Мой компьютер "->"Панель управления "->"BDE Administrator".
2. В появившемся окне перейти на закладку Configuration.
3. Далее в дереве выбираем Configuration->System->INIT.
AUTO ODBC = FALSE
DATA REPOSITORY =
DEFAULTDRIVER = PARADOX
LANGDRIVER = 'ascii' ANSI
LOCAL SHARE = FALSE
LOW MEMORY USAGE = 32
MAXBUFSIZE = 2048
MAXFILEHANDLES = 150
MEMSIZE = 16
MINBUFSIZE = 128
MTS POOLING = FALSE
SHAREDMEMLOCATION =
SHAREDMEMSIZE = 2048
SQLQRYMODE =
SYSFLAGS = 0
BDE иногда не понимает длинные пути. От чего это зависит пока неясно. Лекарство:
1. Панель управления - Система - Дополнительно - Переменные среды.
2. TEMP = C:\TEMP
3. TMP = C:\TEMP
4. Создать на диске каталог C:\TEMP.
5. Перегрузить компьютер.
У меня раньше выскакивали такие глюки, но после выполнения перечисленного набора я от этого избавился. Надеюсь – навсегда.
Собственно, вопрос в названии. Можно ли написать макрос, который будет добавлять другой макрос в другой файл?
Макрос для автоматической вставки фото в лист Excel
Подскажите макрос вставить фото как фон к примечанию в Excel. Пример в файле. Фото в столбце 2.
Мне необходимо из макроса Excel запустить макрос Word.
Мне необходимо из макроса Excel запустить макрос Word. Вот описание макроса Word: Public Sub.
Как запустить из макроса Excel макрос в файле Visio
Есть задача запустить из макроса в Excel Visio, загрузить файл vsd и запустить макрос из файла vsd.
Решение
- перейдите в VBA;
- щ. по модулю, который надо сохранить в виде файла;
- File - Import File. .
Решение
Решение
1. Экспорт модуля проекта в файл
2. Импорт модуля проекта из файла
3. Импорт модуля через организатор(данный код только для Word приложения)
4. Вставка новых строк в модуль проекта
5. Удаление строк из модуля
6. Чтение строк из модуля
7. Определение количества строк в модуле
8. Переименование модулей проекта
9. Удаление модулей проекта
10. Определение количества модулей в проекте
11. Создание нового модуля проекта
Под "ИмяПроекта" в программной конструкции подразумевается соответствующий объект. Для связи с книгой Excel предназначен объект - Workbooks("Имя книги"), а для связи с документом Word объект - Documents(“Имя документа”). Объект для связи с документом, который содержит общие макросы приложения Word, имеет имя: NormalTemplate, в Excel приложении данный объект записывается следующим образом: Workbooks("PERSONAL").
Экспорт модуля проекта в файл
Где
№ - Номер строки в модуле с которой будут вставляться новые строки
S – Вставляемая строка символов
Примечание:
В переменной S могут содержаться коды символов конца строк , которые можно получить следующей функцией со следующим аргументом: CHR(13). Таким образом, переменная S может содержать в себе сразу несколько строк:
Где
№ - Номер строки в модуле с которой будут удаляться строки
Количество – количество удаляемых строк
Чтение строк из модуля
Где
№ - Номер строки в модуле с которой будут начинаться чтение строк
Количество – количество читаемых строк
Определение количества строк в модуле
Добавлено через 9 часов 25 минут
Смотрю кое-кому понравилось . Тогда добавлю:
Много расширенных примеров есть на Cpearson
При объявлении переменных будет ругаться на неизвестный тип данных:
- подключаем Microsoft Visual Basic For Applications Extensibility library (Tools -> Preferences).
Отсюда беруться и некоторые константы.
2007-2010: 1) Файл -> Параметры -> Центр управления безопасностью -> Параметры центра управления безопасностью -> Доверять доступ к объектной модели проектов VBA.
Альтернативно:
2а) Кнопка "Office" (файл) -> Параметры –> (меню "Основные" -> поле "Основные параметры работы с Excel") Настройка ленты -> галочка "Показывать вкладку "Разработчик" на ленте (в правом окне).
2б) Панель "Разработчик" -> группа "Код" -> Безопасность макросов -> меню "Параметры макросов" -> поле "Параметры макросов для разработчика" -> Доверять доступ к объектной модели проектов VBA.
2003: Сервис > Макрос > Безопасность. > Надежные издатели (вкладка) > Доверять досутуп к Visual Basic Project.
> У меня - да, но почему то на некоторых других компах - нет.
Вероятно, потому что на этих "других компах" не установлен Flash Player.
← →Серёга ( 2005-06-07 17:50 ) [5]
Сейчас нашёл то, что мне надо, но к сожалению, под делфу 7 не идёт:
-------------------------------------------------------------
Коммерческие ActiveX компоненты обычно без проблем подключаются к Delphi и позволяют использовать их свойства так же, как и VCL-компонентов. Но начинающий программист будет удивлен, если увидит, что перенесенная на другой компьютер программа не будет работать. Обычно возникает ошибка EOleSysError. Естественно, ведь сервера ActiveX и кода в нем, который отвечает за манипуляцию данными, найти невозможно без регистрации сервера в системе.
Для того, чтобы программа знала, где найти этот код и данные, сервер следует зарегистрировать. В RxLib есть соответствующая функция, но у меня она не сработала. Не знаю, почему. Поэтому предлагаю универсальный способ. В каталоге windows\system есть утилита regsvr32.exe, которая одним параметром принимает имя файла, и регистрирует его. Остальные параметры можете узнать у нее сами.
Пример регистрации, если произошла ошибка EOleSysError. Код из файла .dpr одной из моих программ:
try Application.CreateForm(TSWFViewForm, SWFViewForm);
except on EOleSysError do //Если возникло исключение, регистрируем сервер
Delay(3000); // Wait for registration
try Application.CreateForm(TSWFViewForm, SWFViewForm);
except MessageDlg("ActiveX сервер не найден!",mtError,[mbOK],0);
Взято с http://eef.ispu.ru/sitestud/sav/activex.htm
------------------------------------------------------
У меня ругается на: EOleSysError, ShellExecute, SW_SHOWNORMAL, Delay, MessageDlg, mtError - Undeclared identifier.
Серёга ( 2005-06-07 17:51 ) [6]
Нет, плейер установлен. Это проблема с ActiveX.
← →jack128 © ( 2005-06-07 20:33 ) [7]
Серёга (07.06.05 17:50) [5]
ShellExecute(GetDesktopWindow,"open","c:\windows\system\regsvr32.exe","c:\windows\system\swflash.ocx",nil,SW_SHOWNORMAL) ;
Delay(3000); // Wait for registration
Б-р-р.. Никогда не делай так. Для таких вещей есть CreateProcess + WaitForSingleObject
Читайте также: