|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2013, 16:48 | #1 |
Пользователь
Регистрация: 01.06.2013
Сообщений: 14
|
Visual Studio 2010 и VBA. Надстройка на основе макросов
Здравствуйте.
Прошу Вашей помощи так как самостоятельно разобраться не смогу, видимо( Передо мной встала задача создания надстройки уровня приложения для Word и Excel. Есть три макроса на VBA запускаемые последовательно (Word-Excel-Word) и обрабатывающие некий массив. Необходимо создать вкладку в ленте с кнопками, запускающими соответствующие макросы. Т.е. получается 2е надстройки (для каждого офис-приложения). Для создания использую Visual Studio 2010 (нуб). Проблема в том, не получается присвоить некоторой кнопке на панели выполнение определенного макроса. По всей видимости от меня ожидается код на VB, а не на VBA. Указывает на ошибку в таких строках как: Application.ScreenUpdating = False ............. myView = ActiveWindow.View.Type ActiveWindow.View.Type = wdNormalView ............. With Selection.Find ............. Selection.Find.Execute(Replace:=wdReplaceAll) Подскажите, пожалуйста, как решить данную проблему. Как принудить выполнять VBA код или если это невозможно - как переписать на VB? P.S.: Есть ли возможность написать некую "оболочку" которая могла бы использовать функционал офисного пакета при этом не открывая эти приложения явно. По принципу - задал все необходимые данные и ждешь результата не созерцая окон Word и Excel и не нажимая лишних клавиш). Подскажите в какую сторону копать) Спасибо) |
01.06.2013, 17:57 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
psybehemoth, а такой макрос у вас запускается?
Код:
|
01.06.2013, 18:52 | #3 |
Пользователь
Регистрация: 01.06.2013
Сообщений: 14
|
Такой запускается
только полностью выглядит так: Код:
|
01.06.2013, 20:02 | #4 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
psybehemoth, но вы писали в сообщении #1:
Цитата:
|
|
01.06.2013, 22:29 | #5 |
Пользователь
Регистрация: 01.06.2013
Сообщений: 14
|
Получилось запустить предложенный Вами простейший макрос.
Когда же я пытаюсь вставить свой (100% работоспособный, без ошибок) Studio на него ругается. Вот к примеру на строку в самом начале кода: Application.ScreenUpdating = False "Application" не объявлен.может быть недоступен из-за своего уровня защиты." и так не только с ним Пришил PrintScrin http://s41.radikal.ru/i093/1306/c5/d678389fee6a.jpg |
02.06.2013, 07:29 | #6 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Пункт 1
psybehemoth, скриншоты можно выкладывать прямо на Форум. Мне, например, не нравится ходить по файлообменникам, т.к. там можно неприятные рисунки увидеть. На Форуме рисунки плохо выкладываются, поэтому рисунки нужно архивировать. Пункт 2 Вы можете запустить макрос, который обрабатывает Word-документ из программы "Excel"? Давайте пока не будем рассматривать ваш конкретный код, а добьёмся, чтобы хоть вообще какой-то код стал работать, например этот: Код:
|
02.06.2013, 08:56 | #7 |
Пользователь
Регистрация: 01.06.2013
Сообщений: 14
|
К сожалению, такой код уже не проходит.
ссылаясь на: "Application" не объявлен. Может быть недоступен из-за своего уровня защиты. опять же скрин: |
02.06.2013, 09:08 | #8 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Добейтесь, чтобы у вас заработал этот код из программы "Excel". Когда у вас это получится, то вы уже будете иметь представление, как из одной программы управлять другой программой - это называется разными словами: OLE, COM, автоматизация.
Код:
Код:
Последний раз редактировалось Скрипт; 02.06.2013 в 09:14. |
02.06.2013, 10:11 | #9 | |
Пользователь
Регистрация: 01.06.2013
Сообщений: 14
|
Цитата:
Вопрос же мой был несколько в ином (перефразирую): 1. Возможно ли в Visual Studio при создании надстройки уровня приложения для Word (Excel) использовать готовый код макроса на VBA? 2. Если "да" - то почему не работает и нужно ли производить какие-либо изменения? Задумываться о взаимодействии двух надстроек можно будет после. Сейчас же и одной не выходит. А о том как связать два макроса в разных приложениях я уже в курсе, опять же. как-то так... P.S.: за ответы спасибо в любом случае) |
|
02.06.2013, 10:24 | #10 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
psybehemoth, в сообщении #7 есть скриншот. Вы пишите в коде:
Код:
В коде из сообщения #8 вот так узнаются данные о документе: Код:
Последний раз редактировалось Скрипт; 02.06.2013 в 10:27. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Visual Studio 2010 c# | blacknight07 | C# (си шарп) | 1 | 03.04.2013 16:29 |
Visual Studio 2010 | Lexa567 | Visual C++ | 1 | 21.01.2013 15:25 |
Visual Studio 2010 и NF 2.0 | m0m0k0 | Visual C++ | 0 | 20.06.2012 08:42 |
Visual Studio 2010 и SharePoint 2010 | glinka-82 | Общие вопросы .NET | 0 | 21.03.2012 22:37 |
Expression Studio и Visual Studio 2010 ждать ли русские версии? | Casper-SC | Свободное общение | 31 | 25.05.2010 14:31 |