|
Dobrý den, ve firmě používáme několik druhů rámečků výkresů. Než je výkresová dokumentace schválená, tak máme rámeček s příčným vodoznakem "informativní". Po schválení dokumentace měníme rámeček na totožný, ale bez vodoznaku. Obdobně máme řešené speciální listy s kusovníkem.
Cílem je zjednodušit tuto změnu...snížit počet kliků. Vydal jsem se cestou "čudlíku", který tyto kroky provede přes VBA makro. Základní kód jsem získal na zahraničním fóru a v zásadě funguje dobře. Jediným problémem je, že z našich rámečků odstraní horizontální a vertikální zóny. Další vadou je, že změnu provádí na všech výkresech.
Rád bych touto cestou poprosil o radu jak kód upravit ku prospěchu věci, tudíž rámečky se zónami a změna rámečku pouze na aktivním listu. Moc děkuji za radu, kód níže.
Public Sub InsertCustomBorderOnSheet() ' Set a reference to the drawing document. ' This assumes a drawing document is active. Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument
' Obtain a reference to the desired border definition. Dim oBorderDef As BorderDefinition Set oBorderDef = oDrawDoc.BorderDefinitions.Item("Název požadovaného rámečku") ' Set a reference to count all sheets in document Dim oSheets As Sheets Set oSheets = oDrawDoc.Sheets Dim iSheets As Integer For iSheets = 1 To oSheets.Count
' Check to see if the sheet already has a border and delete it if it does. If Not oSheets(iSheets).Border Is Nothing Then oSheets(iSheets).Border.Delete End If
' Add an instance of the border definition to the sheet. Dim oBorder As Border Set oBorder = oSheets(iSheets).AddBorder(oBorderDef) Next End Sub
------------- Chyba je vždy mezi monitorem a židlí...
|