I haven't tested this yet, because I don't have any AutoCAD blocks to import with prompted entries right now, but this code should get you pretty close to what you need. I noticed that your original code seemed to be in VBA, instead of iLogic, so I stuck with that format for this code. Also, here is another related Sample VBA code I found. I'm using the method from the first link in that last post within this code, but the other two methods are more for working with an already existing AutoCADBlock object (an instance you have placed onto your sheet, not the definition). I assumed that since you are wanting the code to fill in these prompted entries, that you are also placing the block onto the sheet for the first time also in this process. If that is not the case, and you want to use this code after you have already placed the block, just let me know, because the code will have to change a bit for that task.
There is a place within the code where I started to fill in Values to match your screen shot, but didn't finish because it's a long list. You will need to finish filling in any values you want. The array variable itself must be the correct size for how many input values are needed, but I don't think you need to provide a value in each position of the array for it to work.
Here's what I've got for you right now:
Sub TitleBlockAttributes()
' Set a reference to the drawing document.
' This assumes a drawing document is active.
Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument
' ' Set a reference to the drawing Sheet NO.1
Dim oSheet As Sheet
Set oSheet = oDrawDoc.Sheets.Item(1)
' Obtain a reference to the desired AutoCAD block definition.
Dim oBlockDef As AutoCADBlockDefinition
Set oBlockDef = oDrawDoc.AutoCADBlockDefinitions.Item("REDECAM-TITOLO-TAVOLA")
'to use GetPromptTags, you must first create the empty variable(s) of the right type it needs
'then supply those variables to the method, then it will assign their values
Dim oTags() As String
Dim oPrompts() As String
Call oBlockDef.GetPromptTags(oTags, oPrompts)
'create Array of strings to hold your input Values, in correct order
Dim oPromptStrings()
'resize the Array to the number of Tags/Prompts retrieved
ReDim oPromptStrings(oTags.Length - 1)
'
oPromptStrings(0) = "1_0"
oPromptStrings(1) = "___"
oPromptStrings(3) = "C1aappp-nn"
oPromptStrings(4) = "app"
oPromptStrings(5) = "gr"
'............................
'<<<< FINISH FILLING THIS PART IN >>>>
'and so on until you have provided all values you want
'create position point for where to place the block
Dim oTG As TransientGeometry
Set oTG = ThisApplication.TransientGeometry
Dim oPosition As Point2d
Set oPosition = oTG.CreatePoint2d(0, 0)
'create a block instance from the block definition, and place it onto your sheet
'and provide all these variable's we've created as the input variables to this method
Dim oABlock As AutoCADBlock
Set oABlock = oSheet.AutoCADBlocks.Add(oBlockDef, oPosition, 0, 1, oPromptStrings, False)
End Sub
If this solved your problem, or answered your question, please click ACCEPT SOLUTION.
Or, if this helped you, please click (LIKE or KUDOS) 👍.
If you want and have time, I would appreciate your Vote(s) for My IDEAS 💡or you can Explore My CONTRIBUTIONS
Wesley Crihfield

(Not an Autodesk Employee)