Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Word 2013 - UserForm nie uruchamia się.

Merrox 23 Sie 2015 19:31 747 11
  • #1 23 Sie 2015 19:31
    Merrox
    Poziom 9  

    Witam.

    Zrobiłem pewien UserForm, który powinien uruchamiać się podczas otwierania pliku. Z tego co patrzyłem na forach, teoretycznie wszystko jest dobrze, ale mimo to uruchamia się jakiś błąd.

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Przy okazji wie ktoś co trzeba napisać aby nowy dokument zapisywał w miejscu docelowym otwartego pliku a nie domyślnie w Moich Dokumentach.

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0 11
  • #2 23 Sie 2015 20:46
    Nemonek
    Poziom 27  

    Merrox napisał:
    teoretycznie wszystko jest dobrze, ale mimo to uruchamia się jakiś błąd.

    No właśnie, jaki błąd?
    Merrox napisał:
    co trzeba napisać aby nowy dokument zapisywał w miejscu docelowym otwartego pliku a nie domyślnie w Moich Dokumentach.


    Kod: vbnet [rozwiń] [zaznacz wszystko]

    ActiveDocument.SaveAs FileName:="NOWY PLIK" & ".doc"

    Podając tylko nazwę pliku, program przy zapisie korzysta z domyślnej ścieżki dostępu, czyli "Moje Dokumenty". Musisz podać kompletną ścieżkę wraz z nazwą dysku, tam gdzie chcesz umieścić plik.

    0
  • #3 23 Sie 2015 20:57
    Merrox
    Poziom 9  

    Nie znam się na VBA, jestem samoukiem, dlatego postanowiłem zapytać na forum. Dziękuje za odpowiedź z lokalizacją zapisu. Nadal prosiłbym o informację na temat tego, że UserForm się nie uruchamia a program wyrzuca mi błąd "Run-error '424'".

    0
  • #4 23 Sie 2015 21:15
    -psiak-
    Poziom 32  

    Wpisujesz w google:
    run error 424 vba
    i patrzysz o czym piszą.

    0
  • #5 23 Sie 2015 21:23
    Merrox
    Poziom 9  

    Szukałem, ale nie znalazłem zadowalającej mnie odpowiedzi.

    0
  • #6 23 Sie 2015 21:58
    -psiak-
    Poziom 32  

    Prawdopodobnie nie stworzyłeś obiektu UserForm2

    0
  • #7 23 Sie 2015 22:04
    Merrox
    Poziom 9  

    Jest UserForm2. W pierwszym poście jest załączony załącznik dla kogoś kto się zna i umie rozwiązać problem.

    0
  • Pomocny post
    #8 23 Sie 2015 22:55
    adamas_nt
    Moderator Programowanie

    Jest, ale w Initialize są odwołania do nieistniejących kontrolek (albo pomyliłeś nazwy):
    TextBox26
    ComboBox1

    Zaapostrofuj i pójdzie...

    Druga sprawa - zapisujesz plik:
    ActiveDocument.SaveAs FileName:="NOWY PLIK" & ".doc"

    Spróbuj z okienkiem dialogowym, Poniżej przykład kodu:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Następna (zamykasz dokument w ukrytej instancji):
    'ActiveDocument.Close'

    "Załatwia" sprawę (podobno, nie mam żeby sprawdzić) w v.2013

    w 2007 i niżej należy usunąć instancję z pamięci (podejrzyj w procesach)

    ActiveDocument.Close
    Application.Quit

    1
  • #9 23 Sie 2015 23:24
    mickpr
    Poziom 39  

    Problem jest w kodzie formularza, a konkretnie w procedurze inicjalizacji.
    Wyremuj - zobaczysz, że działa. A teraz już sam dochodź - co spieprzyłeś :)
    Mam nadzieję, że pomogłem :)

    Uprzedził mnie :)

    0
  • #10 24 Sie 2015 19:02
    Merrox
    Poziom 9  

    Teraz uruchamia się UserForm, za co jestem bardzo wdzięczny. Problem jest z tym zapisem, bo mimo że okno dialogowe zapisu uruchamia się i klikam "zapisz" (próbowałem pod różnymi nawzami plików i formatów) to plik nigdzie się nie zapisuje :/

    0
  • Pomocny post
    #11 24 Sie 2015 19:20
    adamas_nt
    Moderator Programowanie

    Merrox napisał:
    plik nigdzie się nie zapisuje :/
    To jest w pomocy...
    No, trzeba zapisać :) najlepiej z wybranym typem pliku (filtr w ListBox okna dialogowego)
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    1
  • #12 25 Sie 2015 16:26
    Merrox
    Poziom 9  

    Dzięki za pomoc. Nadal nie chce się zapisywać, więc zrobiłem zapis w konkretnej lokalizacji, na razie mi starczy. Najważniejszy dla mnie był problem z UserForm'em.

    0