With the help others I have been trying to develop a a very robust journal. It has a decent amount of code in it and it is starting to get hard to manage. I am trying to incorporate a block of code from another journal that I found online and I am getting runtime errors. I can't figure out how to remedy the problem.
My journal was written to write Mass properties data to an excel sheet. Specifically volume, enters and extents for each component in an assembly. I wanted to add some code to group the components within excel so the structure is easier to manage.
I will include both journals in the post.
The journal I am trying to develop is called "MeasureBodies". I added code from the "BOM to Excel" Journal into the end of Sub Main() In my journal. Specifically what I added was this:
Dim objWorksheet As Object
Dim rngStart As Object
Dim rngEnd As Object
Dim intIndent As Single
Dim intLeft As Single
Dim intTopRow As Integer
Dim i As Integer
Dim j As Integer
Dim lngStart As Long
Dim lngLevel As Long
intIndent = 6.75
Dim colLevel As Integer = 1
Const xlDown As Long = -4121
Const xlAbove As Long = 0
Const xlLeft As Long = -4131
Dim lngLastRow As Long = objWorksheet.Cells(2, colLevel).End(xlDown).Row
'####### Add groupings to excel structure ################
.AutomaticStyles = False
.SummaryRow = xlAbove
.SummaryColumn = xlLeft
For j = 8 To 1 Step -1
lngStart = 0
'Loop through rows
For i = 2 To lngLastRow
lngLevel = Int(objWorksheet.Cells(i, colLevel).Value)
If lngLevel = j And lngStart = 0 Then
lngStart = i
ElseIf lngLevel < j And lngStart > 0 Then
objWorksheet.Rows(lngStart & ":" & i - 1).EntireRow.Group()
lngStart = 0
ElseIf i = lngLastRow And lngStart > 0 Then
objWorksheet.Rows(lngStart & ":" & i).EntireRow.Group()
lngStart = 0
'####### End Add groupings to excel structure ################
I add it to the end of Sub Main because the point of the code is to add groupings after all the component information is written to Excel.
I tried adding code to the end of the
"For Each temp As asmcontainer In theAsm.AsmComponents" loop.
So it would group the data on the fly but that isn't working the way I want it to.
I want it to group each parent with there children underneath them, the same way it does in the "BOM to EXCEL" Journal. So I tried integrating the code from that journal to see what the results might be.
When I try to run my MeasureBodies journal as it is, it produces an error:
"System.ArgumentNullException: Value cannot be null"
It points to line 147.
"For i = 2 To lngLastRow "
You have written text into column one (the part name) and later try to read it and convert it to an integer. The part name cannot be converted to an integer and you get an error.
Oh okay, so how could I change it so it will actually group the components in Excel? Does it need to pick up an empty column, or one with a numbers in it?