Autodesk Inventor
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
VBA script for editing title block in IDW files
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
I've been looking for a while and managed to find 2 VBA scripts for replacing values in a title block. However one errors out on the line that is supposed to do the replacing and the other works off an ID number which isn't consistent.
I'm a proficient scripter but not in this language, so I have a general idea of how these scripts are working but not the intricacies of them. Which Is exactly what I think is needed to get either of them working.
Function Test_UpdateTitleBlock()
Dim oDoc As DrawingDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oTitleBlock As TitleBlock
Dim oTextBox As TextBox
Dim oSheet As Sheet
For Each oSheet In oDoc.Sheets
Set oTitleBlock = oSheet.TitleBlock
For Each oTextBox In oTitleBlock.Definition.Sketch.TextBoxes
If oTextBox.Text = "<FILENAME AND PATH>" Then
' Errors here and doesn't replace text
Call oTitleBlock.SetPromptResultText(oTextBox, "New Value")
End If
Next
Next
End FunctionThis throws an error on the line I have marked.
Function Remove_Filepath() Dim oDrawDoc As DrawingDocument Set oDrawDoc = ThisApplication.ActiveDocument ' Create the new title block defintion. Dim oTitleBlockDef As TitleBlockDefinition Set oTitleBlockDef = oDrawDoc.ActiveSheet.TitleBlock.Definition Dim oSketch As DrawingSketch Call oTitleBlockDef.Edit(oSketch) oSketch.TextBoxes.Item(20).Text = " " Call oTitleBlockDef.ExitEdit End Function
This one works great, except that it does a "dumb" replace because it looks for the Xth textbox and edits that. The problem is in a detail drawing I want to edit textbox 20 but in assembly drawings I don't want to edit any textbox. So if someone could get this to loop through the textboxes and compare the text to what I want to replace that would be awesome.
Thanks for any help.
Re: VBA script for editing title block in IDW files
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Sorry for the double post but it seems either you can't edit posts or at least opening posts.
It always seems like I manage to get something working after I asking somewhere for help and I always like to share to what I figured out.
Function Remove_FilePath()
On Error GoTo ErrMsg
Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument
' Create the new title block defintion.
Dim oTitleBlockDef As TitleBlockDefinition
Set oTitleBlockDef = oDrawDoc.ActiveSheet.TitleBlock.Definition
Dim oSketch As DrawingSketch
Call oTitleBlockDef.Edit(oSketch)
Dim count As Integer
count = 1
While oSketch.TextBoxes.Item(count).Text <> vbNullString
If oSketch.TextBoxes.Item(count).Text = "<FILENAME AND PATH>" Then
oSketch.TextBoxes.Item(count).Text = " "
End If
count = count + 1
Wend
ErrMsg:
Call oTitleBlockDef.ExitEdit
End FunctionThis function just "removes" the filepath from the title block. It doesn't seem to like substituting in "" but a space works just fine. I take no credit for most of the script, just a bit of credit for hacking it some. It loops through all the textboxes inside of the title block and when it matches the text it replaces it.
