Mam małe makro w interfejsie API Solidworks do eksportowania zestawienia komponentów otwartego rysunku do programu Excel w programie . Plik CSV
Chciałbym, aby ten plik Excela miał stałą nazwę i za każdym razem, gdy uruchamiam makro, wyeksportowana tabela BOM z Solidworks pojawia się tuż pod drugą. Nie wiem wystarczająco dużo o kodzie, który otrzymałem, to, co obecnie robi, to tworzenie pojedynczej tablicy. Nie mogę włączyć instrukcji "pisz tylko od momentu, gdy jest pusty", tylko po to, aby moje nomenklatury następowały po sobie, gdy wykonuję makro na różnych płaszczyznach.
Jeśli ktoś ma linię kodu, która by mi pomogła, jestem za tym!!
Na przykład, jeśli w pliku CSV używamy średnika jako separatora i chcemy zapisać litery A, B i zmienną C w pierwszym wierszu oraz litery D, F i zmienną F w pierwszym wierszu , powinniśmy napisać:
f = Wolny plik Otwórz "C:\TEST.csv", aby dołączyć jako #f Drukuj #f, "A; B; " & C Drukuj #f, "E; F; " & G
Zamknij #f
Na konkretnym przykładzie (z implementacji załączników w naszym ERP):
f = Wolny plik
Otwórz plik "\\dimecox3\PLANBE$\Import_plans.csv", aby #f dołączyć jako otworzyć plik CSV lub TXT Zapisywanie do pliku właściwości Drukuj #f, "ITM; 2; " & KOD & ";; 001; " & docNamePDF & "; " & "PDF" Drukuj #f, "ITM; 2; " & KOD & ";; 002; " & docNameDWG & "; " & "DWG" Zamknij #f
Ouch! Nie czuję, że to rozwiązanie mojego problemu, jestem trochę zagubiony... Czy otworzyłeś kod jako załącznik, aby zobaczyć wynik (potrzebujesz rysunku z zestawieniem materiałów , aby zadziałał).
Makro działa bardzo dobrze! ale chcę tylko, aby przy każdym uruchomieniu makra, nomenklatura aktywna w solidworks zaczynała się od tego samego pliku csv, ale poniżej tego, co mogło być napisane, pojawia się. W ten sposób, przeglądając moje plany i wykonując makro, otrzymałbym Excela, który globalizuje wszystkie moje części.
Oczywiście, jestem zły, dopiero zaczynam! Jestem rysownikiem i odkrywam moc tych API :)
Sub ProcessBomFeature(swBomFeat As SldWorks.BomFeature)
Dim vTableArr jako wariant Dim vTable jako wariant Dim swTable jako SldWorks.TableAnnotation Dim swAnn As SldWorks.Adnotacja Dim nNumCol tak długo Dim nNumRow tak długo Dim sRowStr As Ciąg Słońce i tak długo Słońce j tak długo
Z przyjemnością. Jeśli możesz opublikować swoje makro z kodem zmodyfikowanym dla osób, które będą miały ten sam problem, a także w pliku tekstowym, jeszcze lepiej!