Czy istnieje sposób na usunięcie niestandardowych właściwości pliku części i automatyczne wstawienie nowych. Posiadamy szereg plików, które nie posiadają właściwości, których używamy (np. plik profilu dla spawanego mechanika). Celem jest szybkie przywrócenie nowych właściwości w tych plikach.
Korzystamy z wersji SW 2016 Premium - nie posiadamy narzędzi MyCad.
Owszem, pozwala na aktualizację istniejących właściwości lub tworzenie nowych, ale nie ma możliwości usunięcia istniejących właściwości, aby nie skończyć z ważną listą właściwości i niepotrzebnymi polami. Jak mogę usunąć istniejące obiekty?
Za pomocą Harmonogramu zadań będzie można tworzyć i zamieniać właściwości, a jeśli używasz rejestratora makr, usuwać właściwości, które nie są potrzebne. Możesz także uruchomić go za pomocą harmonogramu i wybrać pliki, o których mowa.
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim config As SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim lRetVal As Long
Dim ValOut As String
Dim ResolvedValOut As String
Dim wasResolved As Boolean
Dim nNbrProps As Long
Dim vPropNames As Variant
Dim vPropTypes As Variant
Dim vPropValues As Variant
Dim resolved As Variant
Dim custPropType As Long
Dim K As Long
Dim NomProperty As String
Set cusPropMgr = swModelDocExt.CustomPropertyManager("")
nNbrProps = cusPropMgr.Count
vPropNames = cusPropMgr.GetNames
For K = 0 To nNbrProps - 1
cusPropMgr.Get2 vPropNames(K), ValOut, ResolvedValOut
custPropType = cusPropMgr.GetType2(vPropNames(K))
If vPropNames(K) = "Description" Then
NomProperty = ResolvedValOut
End If
If vPropNames(K) = "Dessinateur" Then
PropMgr.Delete(vPropNames(K))
End If
Next K
Linie:
Jeśli vPropNames(K) = "Opis" to PropertyName = ResolvedValOut Zakończ jeżeli:
Zmierz wartość właściwości niestandardowej "Opis".
Linie:
Jeśli vPropNames(K) = "Kreślarz" Następnie PropMgr.Delete(vPropNames(K)) Zakończ jeżeli:
Ok, widzę zasadę, ale na poziomie makra nie znam się na tyle w VBA, aby je stworzyć, próbowałem zapisać makro aecla usunięcie właściwości ale to nie działa... Makro jest prawie "puste"
Idealnie, chcę zrobić ostatnią rzecz w harmonogramie zadań, uruchamiam makro za pomocą "uruchom zadanie niestandardowe", ale czy możemy kierować się do tego lub innego folderu, najpierw chcę zrobić test z niektórymi plikami.
Ok, aby rozpocząć tworzenie nowej właściwości w folderze, ale aby użyć makra usuwania używam "execute task" (patrz załączony obrazek) nie ma pól wskazujących na konkretny folder...
Nie wiem wystarczająco dużo o tej funkcji, ale nic nie stoi na przeszkodzie, aby zarządzać nią w makrze, ładując plik zawierający listę Twojego 3D do przetworzenia. Twoje makro musi następnie otworzyć każdy plik w oprogramowaniu, usunąć niestandardowe właściwości, a następnie zapisać go przed przejściem do następnego.
Przez jakiś czas myślałem, że narzędzie "BatchProperties" MyCad zostało stworzone do tego, ale nigdy nie udało mi się zrobić tego, co chcesz zrobić....
Bo miałem tę samą potrzebę co ty...
Jeśli ktoś go użyje i odniesie sukces, może być przydatne jego zdobycie, jeśli masz dużo plików do przetworzenia.
Dziękuję za opinie i wyjaśnienia, ale naprawdę brakuje mi umiejętności, aby zrobić tego typu makro ... więc wolę zachować prostotę... Czy możliwe jest uruchomienie makra z harmonogramu zadań, określając konkretny folder? Za drugi raz dodam nowe właściwości za pomocą harmonogramu zadań (ta druga część jest dla mnie ok)
Nie wiem, czy jest to możliwe, ale moim zdaniem makro nadal będzie musiało przeanalizować wszystkie pliki znajdujące się w folderze, które zostałyby przekazane jako argument przez harmonogram zadań.
Aby tego typu operacja została wykonana, nie jestem pewien, czy naprawdę istnieje potrzeba stosowania harmonogramu zadań (służy on tylko do uruchamiania makra w rozłożonym w czasie).
Ok, rozumiem d. roger, ale "ac cobra 427" wskazuje, że możesz uruchomić makro z harmonogramu zadań ... ac cobra 427 czy możesz mi powiedzieć procedurę, którą należy wykonać i jak wybrać tylko żądane pliki (ok dla właściwości niestandardowych, Nok, aby uruchomić makro na niektórych plikach)
Dsl Nigdy nie potrzebowałem harmonogramu zadań, myślałem, że działa, ponieważ mówią o możliwości uruchomienia makra... W najgorszym przypadku, jeśli nigdy nie miałeś narzędzi Mycad, możesz pobrać i testować przez 1 miesiąc, myślę, że...
Zobacz zrzuty ekranu. Uruchom zadanie niestandardowe.
W przeciwnym razie, jaki jest kod dla VBA, aby utworzyć linię właściwości i skojarzyć wartość, myślałem o zrobieniu tego za pomocą planera zadań, ale nie działa to zbyt dobrze, nie akceptuje pustych pól (np. opis zostanie później wypełniony ręcznie przez kreślarza)