Запуск vba без excel

I wonder how would you assign VBA codes written on Excel VBA to a sort of procedure/programme or maybe dos related filepath, which you can directly without opening excel. In other word, i want to have a desktop icon i can stir up a vba code i assigned to.

Community's user avatar

asked Oct 6, 2012 at 11:07

serhat's user avatar

7

You can do it easily.

Add the following content in a VBS file (e.g. example.vbs). This is only a text file that you can write using Notepad:

'Code should be placed in a .vbs file
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:pathtomyexcelfilemyExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

Then you can double clic on the VBS file to execute it.

Source: http://wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/

answered Oct 13, 2016 at 8:46

Julien Kronegg's user avatar

Julien KroneggJulien Kronegg

4,9231 gold badge46 silver badges60 bronze badges

3

If the VBA in the Excel macro doesn’t reference Excel objects, you can just copy the code into a text file and change the extension to .VBS. However, VB script doesn’t like it when you use types, just delete the «AS something» from your Dim statement.

I do this often to get the benefit of Intellisense, which I wouldn’t have using Notepad.

If my assumption is correct, then you probably want to change your tags to VB Scripting instead of Excel to get appropriate help.

answered Oct 6, 2012 at 15:07

Robert Co's user avatar

Robert CoRobert Co

1,7158 silver badges14 bronze badges

If I understand that right, you can simply write VBS code in a text file and rename it to .vbs
(make sure file endings are visible in Windows). On doubleclick the file is executed by the Windows Scripting Host. VBS lacks some functionality of VBA but you can do a lot with CreateObject/GetObject.

answered Oct 6, 2012 at 11:56

KekuSemau's user avatar

KekuSemauKekuSemau

6,8214 gold badges25 silver badges34 bronze badges

1

Though the learning curve may be a bit steep, but you could consider using AutoHotKey. This allows you to create your own scripts and if so desired turn them into (rather large) .exe files. AutoHotKey is free!

answered Oct 7, 2012 at 9:45

Robert Ilbrink's user avatar

Robert IlbrinkRobert Ilbrink

7,6982 gold badges22 silver badges31 bronze badges

write a cmd or ps1 that opens an excel and in that excel’s startup run your macro… and then when finished close it.

this can be a solution but you are probably doing something which is unnecessary in correct planned environments.

answered Oct 23, 2012 at 13:44

Serdar's user avatar

SerdarSerdar

1,4062 gold badges17 silver badges42 bronze badges

Открыть код vba, не запуская Excel, можно ли?

diJi00

Дата: Вторник, 08.10.2013, 21:19 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

вписал формулу в ячейку и сохранил. а форма её обработать не может и виснет( и что самое печальное, форма в автозапуске стоит(( в файле сделанная работа на 3 часа(((

 

Ответить

SkyPro

Дата: Вторник, 08.10.2013, 21:23 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 1206


Репутация:

255

±

Замечаний:
0% ±


2010

Отключите в настройках безопасности макросы.
Или.
Запустите Эксель. Нажмите «открыть». Удерживайте шифт и откройте ваш файл.


skypro1111@gmail.com

 

Ответить

RAN

Дата: Вторник, 08.10.2013, 21:23 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

А просто сказать — макросы не включать?
Или у вас установлен уровень безопасности, когда сей вопрос не задается?


Быть или не быть, вот в чем загвоздка!

 

Ответить

diJi00

Дата: Вторник, 08.10.2013, 21:24 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 24


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Блин не подумал)

Сообщение отредактировал diJi00Вторник, 08.10.2013, 21:26

 

Ответить

У меня есть код VBA, который вызывает мою процедуру при открытии этого Excel.

Sub WorkBook_Open()
Call Sheets("Result").main
End Sub

Меня беспокоит то, что основная функция будет отправлять электронную почту. Так что в будущем, если я захочу отредактировать этот Excel, как я могу открыть его, не вызывая вызов?

Сначала я хотел использовать командную строку для ежедневного запуска функции vba и автоматически отправлять этот отчет.

2018-01-10 16:39

3

ответа

Решение

  1. Откройте приложение Excel.
  2. Перейдите в Файл ~ Открыть или Файл ~ Недавние.
  3. Удерживайте Shift при открытии файла.

NB. Это не сработает, просто выбрав рабочую книгу Excel для открытия.
Вам нужно сначала открыть Excel, а затем открыть книгу.

Редактировать:

Меня беспокоит то, что основная функция будет отправлять электронную почту.

Не добавляйте свой код в Workbook_Open событие, вместо этого добавьте его в событие нажатия кнопки — оно никогда не будет отправлять электронные письма, пока вы не нажмете кнопку.

2018-01-10 16:54

Вам не нужно сначала открывать Excel. Просто удерживайте нажатой клавишу Shift, дважды щелкнув файл .xlsm.

2022-11-14 20:31

Я нашел для себя следующие работы в Office 365 (возможно, и в других версиях Excel):

  1. Открывайте Excel напрямую, не щелкайте книгу дважды, чтобы запустить Excel
  2. Файл / Открыть / Обзор
  3. Перейдите к книге, которую хотите открыть, щелкните по ней одним щелчком мыши
  4. Щелкните раскрывающийся список рядом с «Открыть» и «Открыть в защищенном просмотре».

Если вы хотите продолжить редактирование на этом этапе, вам нужно будет щелкнуть «Разрешить редактирование» во всплывающем окне, которое должно появиться прямо под строкой меню. Когда я это делаю, у меня есть макросы, которые пытаются сразу же запустить, но не работают, и я могу редактировать VBA. YMMV есть.

2020-09-01 16:31

@Robert: Я попытался адаптировать ваш код с относительным путем и создал пакетный файл для запуска VBS.

VBS запускается и закрывается, но не запускает макрос… Любая идея о том, где проблема может быть?

Option Explicit

On Error Resume Next

ExcelMacroExample

Sub ExcelMacroExample() 

  Dim xlApp 
  Dim xlBook 

  Set xlApp = CreateObject("Excel.Application")
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  strFilePath = objFSO.GetAbsolutePathName(".") 
  Set xlBook = xlApp.Workbooks.Open(strFilePath, "ExcelsCLIENTES.xlsb") , 0, True) 
  xlApp.Run "open_form"


  Set xlBook = Nothing 
  Set xlApp = Nothing 

End Sub

Я удалил «Application.Quit», потому что мой макрос вызывает пользовательскую форму, заботясь об этом.

Приветствия

ИЗМЕНИТЬ

Я действительно отработал это, на всякий случай, когда кто-то хочет запустить пользовательскую форму «подобно» автономному приложению:

Проблемы, с которыми я столкнулся:

1 — Я не хотел использовать событие Workbook_Open, поскольку excel заблокирован только для чтения.
2 — Команда партии ограничена тем фактом, что (насколько мне известно) она не может вызвать макрос.

Сначала я написал макрос, чтобы запустить мою пользовательскую форму, скрывая приложение:

Sub open_form()
 Application.Visible = False
 frmAddClient.Show vbModeless
End Sub

Затем я создал vbs для запуска этого макроса (выполнение этого с относительным путем было сложным):

dim fso
dim curDir
dim WinScriptHost
set fso = CreateObject("Scripting.FileSystemObject")
curDir = fso.GetAbsolutePathName(".")
set fso = nothing

Set xlObj = CreateObject("Excel.application")
xlObj.Workbooks.Open curDir & "ExcelsCLIENTES.xlsb"
xlObj.Run "open_form"

И я, наконец, сделал пакетный файл для выполнения VBS…

@echo off
pushd %~dp0
cscript Add_Client.vbs

Обратите внимание, что в моем Userform_QueryClose:

я также включил «Установить обратно в видимый»

Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ThisWorkbook.Close SaveChanges:=True
    Application.Visible = True
    Application.Quit
End Sub

В любом случае, спасибо за вашу помощь, и я надеюсь, что это поможет, если кому-то это понадобится

Содержание

  • Как открыть VBA, не открывая Excel?
  • Можем ли мы использовать VBA без Excel?
  • Как заставить VBA запускаться автоматически?
  • Как заставить Excel открываться автоматически?
  • Как я могу обновить файл Excel, не открывая его?
  • Как преобразовать Excel VBA в EXE?
  • Может ли макрос работать вне Excel?
  • Как запустить Vbscript в Excel?
  • Что такое команда «Выполнить» для Excel?
  • Можно ли настроить автоматический запуск макроса?
  • Как сделать так, чтобы макрос запускался автоматически ежедневно?

редактировать код, не открывая книгу? Удерживайте клавишу SHIFT при открытии книги чтобы предотвратить запуск кода.

Можем ли мы использовать VBA без Excel?

VBA не существует независимо, он должен быть прикреплен к офису, чтобы его можно было использовать. Но VBA — это не только EXCEL, можно использовать такие как WORD, ACCESS и другие офисные программы.

Как заставить VBA запускаться автоматически?

Инструкции:

  1. Откройте книгу Excel.
  2. Введите образцы данных в каждую книгу.
  3. Нажмите Alt + F11, чтобы открыть редактор VBA.
  4. Дважды щелкните ThisWorkbook в обозревателе проектов.
  5. Скопируйте приведенный выше код и вставьте в окно кода.
  6. Сохраните файл как книгу с поддержкой макросов.
  7. Откройте книгу, чтобы проверить ее, она запустит макрос автоматически.

Как заставить Excel открываться автоматически?

Автоматический запуск Excel с пустой книгой

  1. Щелкните Файл> Параметры.
  2. В разделе «Общие», а затем в разделе «Параметры запуска» установите флажок «Показывать начальный экран при запуске этого приложения».
  3. Щелкните ОК.

Как я могу обновить файл Excel, не открывая его?

Начните процесс в тот момент, когда вам не нужен немедленный доступ к другим файлам в Excel, и убедитесь, что у вас достаточно места на диске для повторного сохранения файла. Щелкните сводную таблицу, подключенную к файлу автономного куба. На вкладке «Данные» в группе «Подключения» щелкните Обновить все, а затем щелкните Обновить.

Как преобразовать Excel VBA в EXE?

Шаги

  1. Загрузите компилятор DoneEx XCell и установите его на свой компьютер. …
  2. Откройте книгу, дважды щелкнув по ней в проводнике Windows. …
  3. Найдите меню DoneEx в главном меню Excel. …
  4. Заполните форму компиляции, указав свои данные и предпочтительные параметры, затем нажмите кнопку «Скомпилировать».

Может ли макрос работать вне Excel?

Вы должны использовать VBA для выполнения задания на печать, вы не можете использовать «обычную печать». Скопируйте код с той стороны в обычный модуль. Но прежде чем вы сможете его запустить, вы должны установить ссылку на PDFcreator. В меню редактора VBA нажмите Инструменты Ссылки и найдите в списке PDFcreator, проверьте его и нажмите ОК.

Как запустить Vbscript в Excel?

Вставить код VBA в книгу Excel

  1. Откройте свою книгу в Excel.
  2. Нажмите Alt + F11, чтобы открыть редактор Visual Basic (VBE).
  3. Щелкните правой кнопкой мыши имя своей книги на панели «Project-VBAProject» (в верхнем левом углу окна редактора) и выберите «Вставить» -> «Модуль» в контекстном меню.
  4. Скопируйте код VBA (с веб-страницы и т. Д.)

Что такое команда «Выполнить» для Excel?

Тип «Excel.exe» в поле ввода Выполнить. Вы также можете нажать кнопку «Обзор», а затем перейти к EXE-файлу Excel и щелкнуть по нему, чтобы загрузить команду в поле «Выполнить».

Можно ли настроить автоматический запуск макроса?

Во многих случаях было бы здорово запускать макрос в заранее определенное время или через определенные интервалы. К счастью, Excel предоставляет метод VBA, который делает это возможным. Приложение. OnTime может автоматически запускать макросы, как только вы выполните некоторую настройку.

Как сделать так, чтобы макрос запускался автоматически ежедневно?

Обязательно укажите имя и расширение файла Excel в конце пути. Вам нужно будет изменить значение переменной MacroPath чтобы направить автоматизацию к конкретному макросу, который вы хотите запустить. Убедитесь, что вы сначала ссылаетесь на имя модуля, а затем на имя макроса.

Интересные материалы:

Где кнопка редактирования на iPhone?
Где лучшие обои для iPhone 12?
Где мне найти настройки на моем iPhone?
Где мне найти свое слайд-шоу на iPhone?
Где мне найти видимость на моем iPhone?
Где мои аудиокниги на моем iPhone?
Где мои фотографии после резервного копирования iPhone?
Где мои видео на моем iPhone 12?
Где мои закладки Safari iPhone?
Где моя библиотека на моем iPhone?

Понравилась статья? Поделить с друзьями:
  • Запрет на редактирование документов excel
  • Запуск microsoft word для windows
  • Запретить перенос слов word 2013
  • Запрет на редактирование word как убрать
  • Запуск microsoft word 2010