Please tell me.
I don't know the code, so I would appreciate it if you could tell me.
Creates a parts table with the specified template.
I have been able to get the value of the specified column, but I want to paste the value that I got into another column.
I think I can copy and paste with "Ctrl + C" and "Ctrl + V", but I don't understand the code.
It would be perfect if I could copy and paste the values in column 8 into the cells in column 10 after creating the parts list. The variable j specifies the column (8) and the variable i gets the value of RowCount.
I confirmed that there is no problem with the acquired contents in the immediate window display.
Also, I created it by specifying a template, but the thickness of the frame is not reflected for some reason.
Default value? Will be.
I would appreciate if you could tell your code to change the setting to the bounds set in the document properties.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swBOMTableAnnotation As SldWorks.BomTableAnnotation
Dim swTableAnnotation As SldWorks.TableAnnotation
Dim nNumRow As Long
Dim sRowStr As String
Dim i As Long
Dim j As Long
Dim anchorType As Long
Dim bomType As Long
Dim tableTemplate As String
Dim config As String
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "The file is not open" & vbCrLf & "Open the file and execute the macro", vbCritical
Dim Doctype As Long
Doctype = swModel.GetType
If Doctype <> 3 Then
MsgBox "No drawing selected" & vbCrLf & "Select the drawing and execute the macro", vbCritical
'BOM creation Vew designation
Set swDrawing = swModel
Set swView = swDrawing.GetCurrentSheet.GetViews()(0)
anchorType = swBOMConfigurationAnchor_TopRight
bomType = swBomType_TopLevelOnly
tableTemplate = "My template.sldbomtbt"
config = ""
On Error Resume Next
Set swBOMTableAnnotation = swView.InsertBomTable4(True, 0, 0, anchorType, bomType, config, tableTemplate, False, swNumberingType_Detailed, False)
Set swTableAnnotation = swBOMTableAnnotation
If Err.Number > 0 Then
MsgBox "Could not create BOM" & vbCrLf & "Please start over", vbInformation
On Error GoTo 0
On Error GoTo 0
'Get the number of BOM rows
nNumRow = swTableAnnotation.RowCount
'Get the value of the specified column
j = 8
For i = 1 To nNumRow - 1
sRowStr = ""
sRowStr = sRowStr & swTableAnnotation.Text2(i, j, True) & ","
Debug.Print Left(sRowStr, Len(sRowStr) - 1)
'Here, I want to copy the contents of variable i from column 10 row 1 to NEXT.
Set swApp = Nothing
Set swModel = Nothing
Set swDrawing = Nothing