Посмеяться - это мы любим.
Давай попробую объяснить, что бы я делала по шагам:
1) Твое приложения сейчас стартует прямо с формы, которая была у тебя первой в проекте (я так думаю). Вообще, приложению можно указать, какая форма будет первой или приложение может стартовать с sub main. Поскольку твое приложение должно поддерживать 2 режима, разумно стартовать с sub Main и там решать, показывать форму или делать что-то другое.
Добавь в проект модуль (.bas) и напиши там
- Код: Выделить всё
Public Sub main()
msgbox "started"
End Sub
2) Project -> Properties -> General tab -> Startup object = Sub Main
получилось увидеть сообщение?
Тогда попробуй запустить свою форму оттуда
- Код: Выделить всё
Public Sub main()
MyForm.Show vbModal
End Sub
3) Теперь про автоматический режим. Допустим, мы каким-то образом выяснили, что надо запускать автоматически.
Самый простой на мой взгляд способ (да простят меня гурманы) - это во всех обработчиках "Private Sub Button1_Click " заменить слово "Private" на "Public".
Тогда в случае автоматического режима будет что-то такое:
Public Sub main()
Dim frm As MyForm
Set frm = New MyForm
frm.Button1_Click
frm.Button2_Click
frm.Button3_Click
End Sub
По поводу того, как понять, в каком режиме запускать - я думаю, надо анализировать командную строку...
Теперь несколько замечаний, что тут сделано неправильно:
1) обработчики обычно не делают public. Public делают методы, которые могут быть вызваны из обработчиков
2) Кнопки обычно называют как-нибудь понятно себе и другим читателям кода.
3) возможно, стоило бы написать отдельный класс, который использовала бы MyForm и SubMain.
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)