Otwórz okno dialogowe makra "zapisz jako"

Witam

Mam makro w programie Excel, które otwiera części w Solidworks z łączy części w moim pliku Excel. To makro zmienia również wymiary w szkicach.

Chcę wyświetlić okno dialogowe "Zapisz jako", aby użytkownik mógł wybrać nazwę i lokalizację plików, które były edytowane.

Mam następujący kod, który działa w Solidworks, ale nie działa po wklejeniu go do programu Excel:

Sub main()

Ustaw swApp = _
Aplikacja.SldWorks
Ustaw swModel = swApp.ActiveDoc
swModel.Extension.RunCommand swCommands_SaveAs, Pusty
Koniec subwoofera

 

Kto zna rozwiązanie?

Dziękuję.

 

Witam

To nie jest tak proste, jak kopiowanie i wklejanie kodu z SolidWorks do Excela!

Czy w menu opcji Visual Basic w programie Excel jest zaznaczone odniesienie do SolidWorks?

Dostępnych jest wiele odniesień zawierających "Solidworks".

Zaznaczona jest tylko opcja "Biblioteka typów SldWorks 2012".

Nie sądzę, aby to stamtąd pochodziło, ponieważ moje makro bez problemu wykonuje wiele działań na Solidworks z Excela.

Jeśli chodzi o kopiowanie i wklejanie, nie znalazłem, co zmienić, aby przełączyć się z jednego oprogramowania na drugie i dlatego wypróbowałem tę metodę.

Witam, czy mogę zapytać, jaki jest ostateczny cel operacji?

W moim pliku Excel mam tabelę z różnymi wartościami wymiarów szkiców zgodnie z konfiguracjami.

Makro modyfikuje części na podstawie pliku Excel. Chcę więc zapisać nową część pod nową nazwą i w lokalizacji wybranej przez użytkownika.

 

PS: Nie używam tutaj rodziny części, ponieważ po testach pojawia się wiele błędów z powodu zbyt dużej liczby konfiguracji (około 2000).

Ok, radzę więc przyjrzeć się technologii o nazwie DriveWorks.

DriveWorks jest specjalistą w dziedzinie automatyzacji projektowania SOLIDWORKS.

Oferujemy trzy wersje: DriveWorksXpress, DriveWorks Solo i DriveWorks Pro.

DriveWorksXpress jest już zainstalowany w używanej wersji SOLIDWORKS i jest całkowicie darmowy.

Solo i Pro oferują oczywiście o wiele więcej funkcji automatyzacji.

http://www.driveworks.co.uk/products/driveworksxpress/ zawiera przegląd Xpress (spójrz na różne zakładki (Funkcja, Korzyści, Porównaj).

http://www.driveworks.co.uk/products/driveworksxpress/sample-projects/ Przykłady, które możesz wypróbować samodzielnie.

I mały filmik: https://www.youtube.com/watch?v=WCSO0mKsoxA

Na koniec radziłbym skontaktować się ze sprzedawcą SolidWorks, który może przedstawić Ci tę technologię bardziej szczegółowo!

Mogę również odpowiedzieć na Twoje pytania, jeśli chcesz.

Thomas

1 polubienie

Nie chcę przechodzić przez DriveWorks, ponieważ makro już istnieje i jest regularnie używane.

W związku z tym chciałbym go rozwijać, zachowując operacje, które już prowadzi.

Kod podany w pytaniu w końcu działa w Excelu, ale nie spełnia poprawnej funkcji. Rzeczywiście, otwiera okno "Otwórz" Solidworks zamiast okna "Zapisz jako"...

Witam

Myślę, że ten kod robi to, czego chcesz

Publiczny Sub enregistrer_fichier()
    ' Odzyskujemy Solidworks
    Ustaw swApp = GetObject(, "SldWorks.Application")
    ' Pobieramy aktywny dokument w solidworks
    Ustaw swModel = swApp.ActiveDoc
    ' Otwieramy okno dialogowe rejestracji
    swModel.Zapisz
    ' Zamykamy plik
    swApp.CloseDoc swModel.GetTitle
Koniec subwoofera

 

1 polubienie

Franciszek Onsenofu,

Dziękuję za odpowiedź. Kod działa, ale nie odpowiada temu, co chciałem uzyskać.

Rzeczywiście, zapisuje zmodyfikowany plik, podczas gdy ja chciałbym zapisać kopię w innym katalogu i pod inną nazwą, aby zachować plik podstawowy bez modyfikacji.

Próbowałem zamienić swModel.Save na swModel.SaveAs, ale to już nie działa.

Otwieram okno dialogowe
Możesz więc zmienić nazwę podstawową

Aby chronić plik podstawowy, możesz spróbować ustawić go jako tylko do odczytu
Kliknij plik prawym przyciskiem myszy
własność
Zaznacz pole tylko do odczytu

W przypadku saveas musisz podać mu ścieżkę nagrywania, a także nazwę pliku jako argument
Myślę, że nie wiesz już, gdzie powinien być zarejestrowany i pod jaką nazwą

Ponadto saveas nie otworzy okna dialogowego rejestracji
z tego co rozumiem

ale mogę się mylić
;)

Jeśli przełączę pliki na tylko do odczytu, otworzy się okno dialogowe i będę mógł edytować wszystkie potrzebne dane.

Dziękuję Franciszku Onsenfou!

1 polubienie