[API] - Poproś użytkownika o wykonanie akcji w oprogramowaniu (na przykład wybranie twarzy)

Witam

 

Mam makro, które eksportuje niestandardowe części w pliku CSV w formacie DXF.

W przypadku części objętościowych eksportuję tylko widok adnotacji o nazwie "DXF". Więc:

bRet = swPart.ExportToDWG2(dxfFilePath, filePath, swExportToDWG_ExportAnnotationViews, True, varAlignment, False, False, 0, varViews)
                                        If bRet Then
                                            debugNlog ("On a exporté la pièce de volumique en DXF:  " & dxfFilePath)
                                        Else
                                            logStatus = debugNlog("ERREUR DXF Volumique: La pièce " & dxfFilePath & "   Config = " & sConfigName & " n'a pas été exporté", "error")
                                            logStatus = debugNlog(filePath, "error")
                                            swApp.SendMsgToUser2 "ERREUR DXF Volumique: La pièce " & docTitle & " n'a pas été exporté" & vbCrLf & "Créez une vue nommée DXF pour corriger le problème", swMbWarning, swMbOk
                                        

 

Chciałbym, aby makro zostało wstrzymane, a użytkownik mógł utworzyć widok, gdy część jest otwarta (kliknij na powierzchnię, a następnie kliknij na przycisk makra, który uruchamia tworzenie widoku adnotacji o nazwie DXF), a następnie makro ponownie próbuje eksportu, ponieważ tym razem będzie OK, przechodzi do następnego pokoju, aż spadnie z powrotem na pokój, który nie ma tego widoku i tak samo, użytkownik tworzy go na żywo.

(Zamierzam oczywiście dokonać wyboru podczas uruchamiania, aby wiedzieć, czy powinieneś zapytać użytkownika, czy być w trybie "cichym", aby móc opuścić stację roboczą bez blokowania przetwarzania.

 

Czy masz technikę, aby oddać użytkownikowi rękę w SW, a następnie kliknąć przycisk "kontynuuj/wznów"?

 

Z góry dziękuję

Spróbuj tego.


exporter.zip
1 polubienie

Witam

Trochę czytania TUTAJ , aby umożliwić Ci wstrzymanie makra.

Z drugiej strony, dlaczego miałbyś chcieć to zrobić w 2 makrach? Czy nie lepiej jest sprawdzić, czy istnieje widok DXF, a następnie ustawić warunek, aby skierować przetwarzanie do funkcji, która utworzy ten widok DXF, jeśli nie istnieje, zanim przejdzie do funkcji eksportu DXF. Wystarczy zatrzymać się na początku funkcji tworzenia widoku DXF, prosząc użytkownika o wybranie powierzchni.

Pozdrowienia

1 polubienie

Dziękuję d.roger, podejrzewałem, że będziesz dobrą radą.

Tak, oczywiście mam w tej chwili dwa makra, ale zamierzam to zrobić tak, jak polecasz!

Z wyrazami szacunku,