Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автозапуск при открытии Excel / 18 сообщений из 18, страница 1 из 1
29.07.2011, 00:09
    #37371918
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Здравствуйте.

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

Нужно что-то похожее на документ в папке автозагрузки (startup) Word.

Т.е. реализовать надо такое:
1) запускаю инсталлятор, в результате чего, при открытии Excel будет автоматически запускаться макрос или появится кнопка для этого макроса.
2) запускаю деинсталлятор, и макрос/кнопка пропадает из Excel.

Спасибо.
...
Рейтинг: 0 / 0
29.07.2011, 00:10
    #37371920
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
personal.xls
...
Рейтинг: 0 / 0
29.07.2011, 02:11
    #37371968
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Shocker.Propersonal.xls
Он отрывается по умолчанию, а это не нужно. К тому же у пользователя может быть свой personal.xls.

А можно написать add-in (xla), закинуть его в папку AddIns, и прописать его подключение в обход Excel (в реестре или еще где-то)?
...
Рейтинг: 0 / 0
29.07.2011, 07:07
    #37372012
kuklp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Сын вождяА можно написать add-in (xla), закинуть его в папку AddIns, и прописать его подключение в обход Excel (в реестре или еще где-то)?Дык, напишите. И поместите в папку xlstart. При каждом запуске Экса будет загружаться.
...
Рейтинг: 0 / 0
29.07.2011, 07:33
    #37372021
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
kuklp...При каждом запуске Экса будет загружаться...По умолчанию новая надстройка отключена, ее надо ручками включать. Надо последнее автоматизировать.

Нашел статью, где описано, как это сделать через реестр:
http://www.jkp-ads.com/articles/AddinsAndSetupFactory.asp

Думал что в Excel есть готовый инструмент...
...
Рейтинг: 0 / 0
29.07.2011, 09:18
    #37372083
Автозапуск при открытии Excel
Создайте обычную книгу с макросом, но с другим названием (не personal.xls) и пусть она помещается в xlstart. на открытие книги повесить событие скрытия книги.
вот vbs для установки

Set wshshell = CreateObject("WScript.Shell")
Documents = wshShell.SpecialFolders("MyDocuments")
x =InStrRev(Documents, "\")
file_name = Left(Documents, x )
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\sheets.xls", file_name & "Application Data\Microsoft\Excel\XLSTART\sheets.xls", True
kill "C:\sheets.xls"
wscript.echo "Done!"
...
Рейтинг: 0 / 0
29.07.2011, 12:35
    #37372549
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Озадаченый...книгу с макросом,,,она помещается в xlstart...
Благодарю. Разобрался. Я изначально так и делал, но испольховал не xls, а xlt (по аналогии с Word). Последий не грузится из xlstart, это меня и сбило...
...
Рейтинг: 0 / 0
30.07.2011, 15:34
    #37373907
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Книгу не обязательно макросом скрывать, можно просто в Excel 2003 зайти в меню Окно, скрыть. После этого зайти в VBA и оттуда сохранить эту книгу, после этого закрыть Excel. После этих действий при авто запуске документ будет не видим.
...
Рейтинг: 0 / 0
30.07.2011, 15:50
    #37373923
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Djon Player...не обязательно макросом скрывать...
Да. Эта я обнаружил опытным путем: после скрытия макросом и сохранения, при следующем открытии книга стала не видна.
...
Рейтинг: 0 / 0
30.07.2011, 15:56
    #37373926
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
По ходу возник интересный вопрос по взаимодействию Word и Excel.
Как из одного приложения открыть MsgBox в другом?
...
Рейтинг: 0 / 0
30.07.2011, 16:09
    #37373933
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Сын вождя, этот вопрос я задавал, ответ получил в этой ветке или в ветке ВижуалБейсик, через Вариаблес, вот часть оттуда

'
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
добавление\изменение\удаление Variable другого открытого документа Ворд
Dim d As Document
Set d = Application.Documents.Open("J:\00.doc")
s = "не скажу"
On Error Resume Next
    d.Variables.Add "кто_меня_открыл", s
    If Err.Number =  5903  Then
        Err.Clear
        d.Variables("кто_меня_открыл").Value = s
    End If
On Error GoTo  0 
d.Variables("кто_меня_открыл").Delete


это "кто_меня_открыл" забейте в поисковик
...
Рейтинг: 0 / 0
30.07.2011, 17:03
    #37373964
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Ципихович Эндрю...этот вопрос я задавал...
Какой? Приведенный тобой код даже рядом не стоял ни с автозапуском, ни с MsgBox :(
Ципихович Эндрю..."кто_меня_открыл" забейте в поисковик...
Сначала сам попробуй, а потом советуй :)
...
Рейтинг: 0 / 0
30.07.2011, 17:31
    #37373977
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Сын вождя, а если такая тема: как вывести сообщение во вновь открытом документе
тогда чего рядом лежала??
>Сначала сам попробуй, а потом советуй :)
Что сложного, ключевых слов море, автор известен
...
Рейтинг: 0 / 0
30.07.2011, 17:48
    #37373985
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Ципихович Эндрю...а если такая тема...
Откопал твою тему. Там нет решения для MsgBox.

Если еще интересно, то проблема легко обходится:
1) пишем макрос запускающий MsgBox
2) помещаем его в автозагрузку первого приложения
3) из второго приложения запускаем макрос

Я же искал более простое решение...
...
Рейтинг: 0 / 0
30.07.2011, 17:58
    #37373988
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Сын вождя,

1) пишем макрос запускающий MsgBox - только не надо таких громких слов

3) из второго приложения запускаем макрос - смотря кому что надо, чтобы MsgBox отобразился в 1 м или 2 м документе
...
Рейтинг: 0 / 0
31.07.2011, 09:13
    #37374201
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Как оказалось, при запуске Excel макросом Word, автозагрузка из папки XLSTART не работает. Почему???
Код макроса Word:
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim myExcel As Object

    Set myExcel = CreateObject("Excel.Application")
    myExcel.Visible = True
    With myExcel.Workbooks.Add
        .Activate
    End With
...
Рейтинг: 0 / 0
31.07.2011, 09:24
    #37374202
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Сын вождя, почему не указали имя файла??, если их там несколько, как он определять будет, какой Вам нужен??
если не ошибаюсь то так
Application.Run "ЦЭ.NewMacros.Кнопка_создать_опись"
ЦЭ это файл в папке запуска, то есть ЦЭ.dot
NewMacros это модуль в этом файле
Кнопка_создать_опись это макрос в этом модуле, в этом файле
...
Рейтинг: 0 / 0
31.07.2011, 09:56
    #37374205
Сын вождя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозапуск при открытии Excel
Для запуска Excel написал следующий макрос Word:
Код: plaintext
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.
Sub Имитация_обычного_запуска_Excel()

Dim myExcel As Object
Dim myAddIn As Object
Dim myWorkbook As Object
Dim strPATH As String

    ' Excel
    Set myExcel = CreateObject("Excel.Application")
    
    ' AddIn (все)
    For Each myAddIn In myExcel.AddIns
        If myAddIn.Installed Then
            Set myWorkbook = myExcel.Workbooks.Open(myAddIn.FullName)
            myWorkbook.RunAutoMacros  1  ' xlAutoOpen
        End If
    Next myAddIn
    
    ' XLSTART (только нужные)
    strPATH = myExcel.StartupPath & myExcel.PathSeparator
    Set myWorkbook = myExcel.Workbooks.Open(strPATH & "Моя книга.xls")
    myWorkbook.RunAutoMacros  1  ' xlAutoOpen

    myExcel.Visible = True
    
    Set myWorkbook = Nothing
    Set myExcel = Nothing
    
End Sub
Эксельщики, возможно я что-то не учел?
Ципихович Эндрю...почему... Ципихович Эндрю , прошу не засорять ветку ответами не по теме!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Автозапуск при открытии Excel / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]