Macro basiskaart

Hallo

Ik ben op zoek naar een update van de achtergronden van oude plannen. Ik heb de volgende sjabloonformaten aanwezig in de Windows-map C:\parameter-sw\Basemaps

Een 3-jarige leeftijd;   A3_Technical_specifications_catalogue_products; A2; A2_TECH; A1;  A1_TECH

 

op mijn oude basemaps die ik gebruikte

 

Een 3-jarige leeftijd;  Technical_specifications_catalogue_products; A2; A2_TECH; A1;  A1_TECH

Ik zou het leuk vinden als naamsjablonen zijn

Technical_specifications_catalogue_products.slddrt laad vervolgens de basiskaart op: A3_Technical_specifications_catalogue_products.slddrt

Als A3.slddrt dan A3.slddrt nieuw pad

..............

 

Ik voeg de macro toe die ik gebruik.

Heb je een idee om de naam van het sjabloon te controleren?

 

Alvast bedankt voor uw feedback

 


mise_en_forme_fdp_avant_validation.swp

Hallo

Afhankelijk van hoe de functie SldWorks.Sheet wordt gedeclareerd, moet u dit schrijven:

Set swSheet = swDraw.GetCurrentSheet
sTemplate = Mid(swSheet.GetTemplateName, InStrRev(swSheet.GetTemplateName, "\") + 1)

 

1 like

Bedankt voor je feedback Cyril

Ik heb het getest, maar het werkt niet, hier is de bijgewerkte macro 

Heb je een idee?

 

 

 


mise_en_forme_fdp_avant_validation_-_copie.swp

Hallo

Ik had de code tot dan toe niet geopend, dus als ik hem open, zie ik dat de naam van de gevonden achtergrondkaart een verwerking mist.

Je moet dus sTemplate gebruiken met If... Dan.

Na de verandering van achtergrondplan op hetzelfde formaat, zal ik informatie gebruiken die @d.roger me in 2017 in een ander onderwerp had gegeven.

Kortom, u moet de achtergrondwijziging twee keer starten om het te laten werken.

bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")

 

Hallo Cyril,

Bedankt voor je feedback.

Voor het A3-formaat heb ik 3 bestaande formaten A3,A3TECH,A3_Technical_specifications_catalogue_products 

Alle sjablonen hebben dezelfde naam (A3 voor A3, A3-TEC voor A3-TECH, A2 voor A2 ........), behalve de  Technical_specifications_catalogue_products die A3_Technical_specifications_catalogue_products is geworden.

Ik denk dat je net zoveel constanten moet maken als er achtergronden zijn?

Ik begrijp niet hoe  ik de naam van de basiskaart moet controleren en de bijbehorende basiskaart moet laden.

Alvast bedankt voor uw feedback


mise_en_forme_fdp_avant_validation_-_copie.swp

Hallo

Voorbeeld voor het A3-formaat, te herhalen op de andere formaten.

                   If vSheetProps(0) = "8" Then
                      Select Case sTemplate
                        Case "Technical_specifications_catalogue_products.slddrt"
                            stemplatepath = cDirTemplate & "A3_Technical_specifications_catalogue_products.slddrt"
                        Case "A3.slddrt"
                            stemplatepath = cDirTemplate & cTemplateA3
                        Case "A3-TEC.slddrt"
                            stemplatepath = cDirTemplate & "A3-TEC.slddrt"
                        End Select
                        bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")
                        bRet = swDraw.SetupSheet4(swSheet.GetName, vSheetProps(0), 12, vSheetProps(2), vSheetProps(3), True, stemplatepath, 0#, 0#, "")

 

2 likes

Als ik alles goed heb gevolgd, krijg je de naam van het sjabloon via de sTemplate variabele.

Zet gewoon in de volgende regel "sTemplate = Mid(swSheet.GetTemplateName, InStrRev(swSheet.GetTemplateName, "\") + 1)", een debug.print sTemplate of msgbox sTemplate om de waarde van de weergegeven variabele te zien.

In plaats van je tests via vSheetProps te doen, doe je je test met de sTemplate-variabele (Is sTemplate gelijk aan of begint met dan...

1 like

Dank je wel Cyril,

Fijne dag