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

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

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

Author24 — интернет-сервис помощи студентам
Нашел много источников но ни один не отработал у меня.
Подозреваю, что не правильно указываю синтаксис возле имени макроса
Макрос сохранен в отдельном модуле 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2015, 01:48
Ответы с готовыми решениями:

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

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

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

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

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

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

Я не пробовал так макросы запускать, но есть предположение, что может быть нужно где-то активный лист указать.
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
21.12.2015, 17:45  [ТС] 5
Svorky, а ка Вы пробовали запускать? Может и другой способ есть.
Вне нужно просто запустить последовательно два макроса которые хранятся в отдельных модулях
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
22.12.2015, 08:14 6
googlogmob, не так выразился. Я через C# вообще не запускал макросы. Только вывод данных делал. Просто практически везде при работе с экселем требуется указать активный лист, вот я и предположил это.
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
22.12.2015, 16:47  [ТС] 7
Нагуглил такое решение
Кликните здесь для просмотра всего текста
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
39 / 38 / 32
Регистрация: 24.11.2014
Сообщений: 352
22.12.2015, 17:04 8
googlogmob, И что у тебя заработало ?
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
22.12.2015, 17:05  [ТС] 9
Deimos_, да
0
22.12.2015, 17:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 17:05
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru