Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202

Запуск макроса в книге xlsm

20.12.2015, 01:48. Показов 2058. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел много источников но ни один не отработал у меня.
Подозреваю, что не правильно указываю синтаксис возле имени макроса
Макрос сохранен в отдельном модуле Splitting под именем Split
На скринах ошибка и VBA в книге
Часть кода C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
static void exceling()
        {
            excelApp.Visible = false;
            excelBook = excelApp.Workbooks.Open(attfile);
 
            foreach (Excel.WorkbookConnection cnn in excelBook.Connections)
            {
                cnn.OLEDBConnection.BackgroundQuery = false;
            }
 
            excelBook.RefreshAll();
            excelApp.Run("C:\\Users\\AKravchenko\\Desktop\\Оперативный_отчет\\Оперативный_МАКРО.xlsm!Splitting.Split", Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing);
            excelBook.Save();
            excelBook.Close(0);
            excelApp.Quit();
 
        }
Буду благодарен за помощь
Миниатюры
Запуск макроса в книге xlsm   Запуск макроса в книге xlsm  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2015, 01:48
Ответы с готовыми решениями:

Как открыть xlsm файл для редактирования макроса
помогите. как открыть файл с расширением xlsm для редактирования макроса

Запуск файла xlsm
пишу в VBA скрипт Dim RetVal1 RetVal1 = Shell("D:\Journal1.xlsm", 1) который должен открывать книгу excel расположенную в корне...

Запуск макроса из макроса ИЛИ повторение одного и того же кода
Excel Есть код в 10 строк (назовем его "блок"), который повторяется 5 раз в модуле (макросе). При любых изменения "блока"...

8
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
21.12.2015, 12:23  [ТС]
Никто не сталкивался?
0
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
21.12.2015, 12:44
Смотри сколько я пытался найти помошь тут по этому поводу Но никто не ответил.
Не подключается PERSONAL.XLS в новую открытую книгу Excel

Добавлено через 16 секунд
Смотри сколько я пытался найти помошь тут по этому поводу Но никто не ответил.
Не подключается PERSONAL.XLS в новую открытую книгу Excel
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
21.12.2015, 13:23
Значит никто не знает, что делать.

Я не пробовал так макросы запускать, но есть предположение, что может быть нужно где-то активный лист указать.
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
21.12.2015, 17:45  [ТС]
Svorky, а ка Вы пробовали запускать? Может и другой способ есть.
Вне нужно просто запустить последовательно два макроса которые хранятся в отдельных модулях
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
22.12.2015, 08:14
googlogmob, не так выразился. Я через C# вообще не запускал макросы. Только вывод данных делал. Просто практически везде при работе с экселем требуется указать активный лист, вот я и предположил это.
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
22.12.2015, 16:47  [ТС]
Нагуглил такое решение
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        static string attfile = @"C:\Users\Оперативный_отчет\Оперативный_МАКРО.xlsm";
        static void Main()
        {
            exceling();
        }
 
        static void exceling()
        {
 
            Excel.Application xlApp = new Excel.Application();
            xlApp.Visible = false;
            Excel.Workbook xlWorkBook;
            xlWorkBook = xlApp.Workbooks.Open(attfile);           
 
            foreach (Excel.WorkbookConnection cnn in xlWorkBook.Connections)
            {
                cnn.OLEDBConnection.BackgroundQuery = false;
            }
 
            xlWorkBook.RefreshAll();
            xlWorkBook.Save();
            xlWorkBook.RefreshAll();
            xlWorkBook.Save();
 
            xlApp.Run("Оперативный_МАКРО.xlsm!Splitting.Split");
            xlWorkBook.Save();
 
            xlWorkBook.Close(0);
            xlApp.Quit();
 
            releaseObject(xlApp);
            releaseObject(xlWorkBook);
 
        }
 
        private static void releaseObject(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;
            }
            finally
            {
                GC.Collect();
            }
        }


Добавлено через 22 минуты
Метод releaseObject я исключил из проекта
1
 Аватар для Deimos_
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
22.12.2015, 17:04
googlogmob, И что у тебя заработало ?
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
22.12.2015, 17:05  [ТС]
Deimos_, да
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2015, 17:05
Помогаю со студенческими работами здесь

Периодическое выполнение макроса в книге
Помогите, пожалуйста, написать макрос, чтоб выполнялся периодически, каждые 10 секунд. Сейчас у меня срабатывает только 1 раз при...

Выполнение макроса только в определённой книге
Здравствуйте, подскажите, пожалуйста, как сделать, чтобы макрос выполнялся только в определённой книге, потому что когда у меня отрыто 2...

Использование макроса(Процедуры) в другой книге
Имеется 2 книги Excel. Необходимо передать данные из одной книги в другую с помощью макроса VBA. Данные в виде таблицы(массива). Вся...

Запуск макроса из другого макроса
Как в Word запустить из одного макроса другой? RunMacro куда засунуть?

Зависимость времени работы макроса от количества листов в книге
Приветствую, форумчане! Сегодня столкнулся с одной нехорошей фигней - может кто-то сталкивался с этим уже и поможет эту фигню разрешить. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru