cleaned up docs and further documentation

main
Jeremy 2025-04-14 15:23:49 -05:00
parent 601c6652b3
commit 74c8735d1b
214 changed files with 41 additions and 928 deletions

View File

@ -1,5 +1,5 @@
{
"collapse-filter": true,
"collapse-filter": false,
"search": "",
"showTags": false,
"showAttachments": false,

View File

@ -4,31 +4,21 @@
"type": "split",
"children": [
{
"id": "a3a76ef5e7f288b6",
"id": "440bc9d29e3748f6",
"type": "tabs",
"children": [
{
"id": "caa3f00cbffc2666",
"id": "54de382f7fbbc343",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Forms/DS Pem Press Manual.md",
"file": "Queries/AddnlMakeQ.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "DS Pem Press Manual"
}
},
{
"id": "22a3b2a859e069e4",
"type": "leaf",
"state": {
"type": "graph",
"state": {},
"icon": "lucide-git-fork",
"title": "Graph view"
"title": "AddnlMakeQ"
}
}
]
@ -84,8 +74,7 @@
"title": "Bookmarks"
}
}
],
"currentTab": 1
]
}
],
"direction": "horizontal",
@ -105,7 +94,7 @@
"state": {
"type": "backlink",
"state": {
"file": "Forms/DS Pem Press Manual.md",
"file": "Queries/AddnlMakeQ.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -115,7 +104,7 @@
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for DS Pem Press Manual"
"title": "Backlinks for AddnlMakeQ"
}
},
{
@ -124,12 +113,12 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "Forms/DS Pem Press Manual.md",
"file": "Queries/AddnlMakeQ.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from DS Pem Press Manual"
"title": "Outgoing links from AddnlMakeQ"
}
},
{
@ -153,13 +142,13 @@
"state": {
"type": "outline",
"state": {
"file": "Forms/DS Pem Press Manual.md",
"file": "Queries/AddnlMakeQ.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of DS Pem Press Manual"
"title": "Outline of AddnlMakeQ"
}
}
]
@ -179,33 +168,33 @@
"command-palette:Open command palette": false
}
},
"active": "caa3f00cbffc2666",
"active": "54de382f7fbbc343",
"lastOpenFiles": [
"Forms/DS Pedestal.md",
"Forms/DS Paper Peel.md",
"Forms/DS MultShear.md",
"Forms/DS Misc Weld.md",
"Forms/DS Laser.md",
"Forms/DS Hand Deburr.md",
"Forms/DS CNC.md",
"Forms/Delete this.md",
"Tables/DedicatedCells.md",
"Tables/DataSheet.md",
"Forms/Data Sheet Select.md",
"Macros/Create Util 1.md",
"Forms/Copy of Process Sheet.md",
"Tables/Copy of Metals Header.md",
"Tables/Conversion Errors.md",
"Tables/ConfigurationTable.md",
"Tables/CntlPanel.md",
"Modules/processvariables.md",
"Modules/SummaryModule.md",
"Modules/Module1.md",
"Modules/MacroModule.md",
"Modules/MainModule.md",
"Modules/CNCTapeRoutines.md",
"Forms/CNCDefinitions.md",
"Tables/c1 - 2.md",
"Tables/Base Price Info.md",
"Macros/AutoExec.md",
"Macros/AS400 Utiliz Results for steve.md",
"Forms/AllProcessSubform14.md",
"Forms/AllProcessSubform.md",
"Tables/AddnlPROC.md"
"Macros/Zero Util Matrix.md",
"Macros/AS400 Utiliz Results.md",
"Overview.md",
"Forms/YESORNO.md",
"Forms/xyz.md",
"Tables/WorkCenter.md",
"Forms/Utilization on Multiple Sheets old.md",
"Forms/Utilization on Multiple Sheets.md",
"Forms/Utilization on MS hold.md",
"Forms/Utilities.md",
"Tables/Util Selection C2.md",
"Tables/Util Selection C1 - D2.md",
"Tables/Util Selection C1 - D1.md",
"Tables/Util Selection C1.md",
"Tables/Util Selection C0.md",
"Tables/Util Selection 2.md",
"Tables/Util Selection 1.md",
"Tables/Util Selection 0b.md",
"Tables/Util Selection 0a.md",
"Tables/Util Selection 0.md"
]
}

View File

@ -1,5 +1,4 @@
# DS Polish
Analysis generated on: 4/1/2025 4:10:56 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS PressBrake
Analysis generated on: 4/1/2025 4:10:45 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS Salvagnini
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS Shake And Break
Analysis generated on: 4/1/2025 4:05:07 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS Shear
Analysis generated on: 4/1/2025 4:10:37 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS Spot Weld
Analysis generated on: 4/1/2025 4:10:05 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# DS Timesaver
Analysis generated on: 4/1/2025 4:09:26 PM
---
## Record Source
- [[Queries/DataSheetQ1]]

View File

@ -1,5 +1,4 @@
# ErrorForm
Analysis generated on: 4/1/2025 4:09:34 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Filtered Parts old
Analysis generated on: 4/1/2025 4:09:40 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Filtered Parts
Analysis generated on: 4/1/2025 4:09:54 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Form1
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Tables/AddnlProc]]

View File

@ -1,5 +1,4 @@
# Gauge
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Queries/metalQ1]]

View File

@ -1,5 +1,4 @@
# HoldPartNumberForm
Analysis generated on: 4/1/2025 4:09:19 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Latest Revision of parts
Analysis generated on: 4/1/2025 4:03:20 PM
---
## Record Source
- [[Queries/Processes by material]]

View File

@ -1,5 +1,4 @@
# Main Menu
Analysis generated on: 4/1/2025 4:08:03 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# MakeForm
Analysis generated on: 4/1/2025 4:00:41 PM
---
## Record Source
- [[Queries/Qmake1-14]]

View File

@ -1,5 +1,4 @@
# Material Selection Screen
Analysis generated on: 4/1/2025 4:04:59 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Material Upgrade old
Analysis generated on: 4/1/2025 4:09:00 PM
---
## Record Source
- [[Queries/Processes by material]]

View File

@ -1,5 +1,4 @@
# Material Upgrade
Analysis generated on: 4/1/2025 4:07:02 PM
---
## Record Source
- [[Queries/Processes by material]]

View File

@ -1,5 +1,4 @@
# Miscellaneous
Analysis generated on: 4/1/2025 4:02:40 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# New Process Sheet
Analysis generated on: 4/1/2025 4:04:01 PM
---
## Record Source
- [[Tables/Process]]

View File

@ -1,5 +1,4 @@
# PROCESS97
Analysis generated on: 4/1/2025 4:08:09 PM
---
## Record Source
- [[Queries/UniversalQ]]

View File

@ -1,5 +1,4 @@
# Parts Per Sheet
Analysis generated on: 4/1/2025 4:05:46 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# PemPress Ops subform
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Tables/SELECT DISTINCTROW [PemPress Ops].[PartNumber], [PemPress Ops].[OpCode], [PemPress Ops].[PemNumber], [PemPress Ops].[AutoManual], [PemPress Ops].[Hits] FROM [PemPress Ops];]]

View File

@ -1,5 +1,4 @@
# Phantom Selection Screen
Analysis generated on: 4/1/2025 4:04:51 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# PressBrakeSubForm
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Queries/PressBrakeQ1]]

View File

@ -1,5 +1,4 @@
# Process Sheet test
Analysis generated on: 4/1/2025 4:01:17 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Process Sheet
Analysis generated on: 4/1/2025 4:08:21 PM
---
## Record Source
- [[Queries/UniversalQ]]

View File

@ -1,5 +1,4 @@
# Restart Process Sheet
Analysis generated on: 4/1/2025 4:06:13 PM
---
## Record Source
- [[Tables/Process]]

View File

@ -1,5 +1,4 @@
# SP Delete
Analysis generated on: 4/1/2025 4:06:48 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Scott's Utilization of C6-C9
Analysis generated on: 4/1/2025 4:07:47 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# SetupPaths
Analysis generated on: 4/1/2025 4:07:36 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Sheet Metal Weight
Analysis generated on: 4/1/2025 4:03:52 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Sheet Utilization Utilites
Analysis generated on: 4/1/2025 4:02:30 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Sorted by Machine old
Analysis generated on: 4/1/2025 4:01:48 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Sorted by Machine
Analysis generated on: 4/1/2025 4:07:22 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# T
Analysis generated on: 4/1/2025 4:02:48 PM
---
## Record Source
- [[Queries/UniversalQ]]

View File

@ -1,5 +1,4 @@
# TRASH
Analysis generated on: 4/1/2025 4:05:15 PM
---
## Record Source
- [[Queries/UniversalQ]]

View File

@ -1,5 +1,4 @@
# Tricks
Analysis generated on: 4/1/2025 4:11:39 PM
---
## Record Source
- [[Tables/Tricks]]

View File

@ -1,5 +1,4 @@
# Universal Selection Screen
Analysis generated on: 4/1/2025 4:04:39 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Update Work Centers
Analysis generated on: 4/1/2025 4:08:03 PM
---
## Record Source
- [[Queries/PBWCUpdateQuery]]

View File

@ -1,5 +1,4 @@
# Util Adder
Analysis generated on: 4/1/2025 4:04:28 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Util L X W subform
Analysis generated on: 4/1/2025 4:09:19 PM
---
## Record Source
- [[Tables/SELECT DISTINCTROW [Util L X W].IDNo, [Util L X W].SheetW, [Util L X W].SheetL, [Util L X W].GrossWeight, [Util L X W].ErrCount, [Util L X W].TotalPrice FROM [Util L X W];]]

View File

@ -1,5 +1,4 @@
# Util Result1
Analysis generated on: 4/1/2025 4:03:04 PM
---
## Record Source
- [[Tables/Util Selection C1]]

View File

@ -1,5 +1,4 @@
# Util Result2
Analysis generated on: 4/1/2025 4:04:12 PM
---
## Record Source
- [[Tables/Util Selection C1]]

View File

@ -1,5 +1,4 @@
# Util Select picker
Analysis generated on: 4/1/2025 4:03:39 PM
---
## Record Source
- [[Queries/Util Select 0 Q1]]

View File

@ -1,5 +1,4 @@
# Utilities
Analysis generated on: 4/1/2025 4:03:12 PM
---
## Record Source
- [[Tables/Process]]

View File

@ -1,5 +1,4 @@
# Utilization on MS hold
Analysis generated on: 4/1/2025 4:00:27 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Utilization on Multiple Sheets old
Analysis generated on: 4/1/2025 4:02:00 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Utilization on Multiple Sheets
Analysis generated on: 4/1/2025 4:02:13 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# YESORNO
Analysis generated on: 4/1/2025 4:00:54 PM
---
## Record Source
- *None*

View File

@ -1,13 +0,0 @@
# frmOllamaProgress
Analysis generated on: 4/1/2025 4:11:49 PM
---
## Record Source
- *None*
## Controls
| Control Name | Reference |
|--------------|-----------|
| *None* | - |
## VBA Code
*None*
## What it does
*No VBA code to document*

View File

@ -1,5 +1,4 @@
# temp
Analysis generated on: 4/1/2025 4:06:31 PM
---
## Record Source
- [[Queries/UniversalQ]]

View File

@ -1,5 +1,4 @@
# term Process Sheet
Analysis generated on: 4/1/2025 4:05:57 PM
---
## Record Source
- [[Tables/Process]]

View File

@ -1,5 +1,4 @@
# test1
Analysis generated on: 4/1/2025 4:05:35 PM
---
## Record Source
- [[Tables/Util Selection C1]]

View File

@ -1,5 +1,4 @@
# xyz
Analysis generated on: 4/1/2025 4:01:32 PM
---
## Record Source
- *None*

View File

@ -1,5 +1,4 @@
# Filter across Materials Utilitzation
Analysis generated on: 4/1/2025 3:41:10 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Macro1
Analysis generated on: 4/1/2025 3:41:10 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Macro2
Analysis generated on: 4/1/2025 3:41:08 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Material Selections for Utilitzation
Analysis generated on: 4/1/2025 3:41:09 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Material Upgrade
Analysis generated on: 4/1/2025 3:41:06 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# MaterialCalculate
Analysis generated on: 4/1/2025 3:41:11 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Notes for Util
Analysis generated on: 4/1/2025 3:41:11 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Open Processes by List
Analysis generated on: 4/1/2025 3:41:13 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# OpenUpC1
Analysis generated on: 4/1/2025 3:41:14 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# OpenUpGaugeTable
Analysis generated on: 4/1/2025 3:41:14 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# PASSMATER
Analysis generated on: 4/1/2025 3:41:08 PM
---
## Macro Definition
- *No actions found or failed to parse macro definition*

View File

@ -1,5 +1,4 @@
# Process 14 two
Analysis generated on: 4/1/2025 3:41:15 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# QueryfromFilterParts3
Analysis generated on: 4/1/2025 3:41:15 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Restore Util Selection C1
Analysis generated on: 4/1/2025 3:41:16 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Return to Utilization Form
Analysis generated on: 4/1/2025 3:41:16 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# SP C1 Report Macro
Analysis generated on: 4/1/2025 3:41:17 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# SP Make table
Analysis generated on: 4/1/2025 3:41:17 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Tricks
Analysis generated on: 4/1/2025 3:41:13 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -1,5 +1,4 @@
# Zero Util Matrix
Analysis generated on: 4/1/2025 3:41:12 PM
---
## Macro Definition
| Action | Arguments | Condition |

View File

@ -2486,13 +2486,7 @@ End Function
```
## What it does
#### Chunk 1
*Failed to generate documentation with Ollama*
#### Chunk 2
*Failed to generate documentation with Ollama*
#### Chunk 3
*Failed to generate documentation with Ollama*
#### Chunk 4
**VBA Code Description**
==========================
@ -2884,7 +2878,7 @@ This VBA code is a complex piece of software that handles multiple commands rela
**VBA Code Description**
==========================
This VBA code is designed to control a robotic arm, likely in a simulation or game environment. The code reads input commands from the console and calculates the time required for each command to be executed.
This VBA code is designed to control a robotic arm, in a manufacturing environment potentially running simulations. The code reads input commands from the console and calculates the time required for each command to be executed.
**Overview**
------------

View File

@ -1,5 +1,4 @@
# MacroModule
Analysis generated on: 4/1/2025 5:16:54 PM
---
## VBA Code
```vba

View File

@ -1,388 +0,0 @@
# MainModule
Analysis generated on: 4/1/2025 5:16:51 PM
---
## VBA Code
```vba
Attribute VB_Name = "MainModule"
Option Compare Database
Option Explicit
' Global queue for API requests
Public Type ApiRequest
code As String
filePath As String
ItemType As String ' To track the type of item (Form, Query, Table, Module)
ItemName As String ' To track the name of the item for progress display
End Type
' Declare Sleep for both 32-bit and 64-bit Office
#If VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
' Main subroutine to generate the Obsidian vault
Public Sub GenerateObsidianVault()
On Error GoTo ErrorHandler
' Create the overview file
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim vaultPath As String
vaultPath = CurrentProject.Path & "\ObsidianVault"
Dim overviewPath As String
overviewPath = vaultPath & "\Overview.md"
Dim overviewFile As Object
Set overviewFile = fso.CreateTextFile(overviewPath, True)
If overviewFile Is Nothing Then
MsgBox "Failed to create Overview.md. Error: " & Err.Description, vbCritical
Exit Sub
End If
overviewFile.WriteLine "# Overview"
overviewFile.WriteLine "Generated on: " & Now
' Run each analysis section
FormsModule.AnalyzeFormsForObsidianVault overviewFile, fso, vaultPath
QueriesModule.AnalyzeQueriesForObsidianVault overviewFile, fso, vaultPath
TablesModule.AnalyzeTablesForObsidianVault overviewFile, fso, vaultPath
ModulesModule.AnalyzeModulesForObsidianVault overviewFile, fso, vaultPath
' Finalize and clean up
overviewFile.WriteLine "---"
overviewFile.WriteLine "## Analysis Complete"
overviewFile.Close
Set overviewFile = Nothing
Set fso = Nothing
MsgBox "Analysis complete. Files saved to: " & vaultPath, vbInformation
Exit Sub
ErrorHandler:
Debug.Print "Error in GenerateObsidianVault: " & Err.Number & ": " & Err.Description & " at " & Now
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical
If Not overviewFile Is Nothing Then overviewFile.Close
Set overviewFile = Nothing
Set fso = Nothing
Exit Sub
End Sub
' Helper function to sanitize filenames
Public Function SanitizeFileName(fileName As String) As String
Dim invalidChars As String
Dim i As Integer
invalidChars = "\/:*?""<>|#" ' Added # to the list of invalid characters
SanitizeFileName = fileName
For i = 1 To Len(invalidChars)
SanitizeFileName = Replace(SanitizeFileName, Mid(invalidChars, i, 1), "_")
Next i
End Function
' Helper function to parse JSON (basic implementation)
Public Function ParseJson(jsonStr As String) As Object
On Error GoTo JsonError
Dim scriptControl As Object
Set scriptControl = CreateObject("ScriptControl")
If scriptControl Is Nothing Then
Set ParseJson = Nothing
Exit Function
End If
scriptControl.Language = "JScript"
Set ParseJson = scriptControl.Eval("(" & jsonStr & ")")
Exit Function
JsonError:
Set ParseJson = Nothing
End Function
Public Function SplitVBACode(code As Variant) As Collection
Dim chunks As New Collection
Dim lines() As String
Dim currentChunk As String
Dim i As Long
Dim chunkSize As Long
Const MAX_CHUNK_SIZE As Long = 12000 ' Approx 3000 tokens (assuming 1 token = 4 chars)
' Handle invalid or empty input
If IsNull(code) Or IsEmpty(code) Or TypeName(code) <> "String" Then
Debug.Print "SplitVBACode: Invalid input, code is " & TypeName(code)
chunks.Add "*No VBA code to document*"
Set SplitVBACode = chunks
Exit Function
End If
' Handle empty or whitespace-only code
If Trim(code) = "" Then
Debug.Print "SplitVBACode: Code is empty or whitespace-only"
chunks.Add "*No VBA code to document*"
Set SplitVBACode = chunks
Exit Function
End If
' Split the code into lines
On Error Resume Next
lines = Split(code, vbCrLf)
If Err.Number <> 0 Then
Debug.Print "SplitVBACode: Error splitting code: " & Err.Description
chunks.Add "*Error splitting VBA code: " & Err.Description & "*"
Err.Clear
Set SplitVBACode = chunks
Exit Function
End If
On Error GoTo 0
' Check if the lines array is valid
Dim linesLowerBound As Long
Dim linesUpperBound As Long
On Error Resume Next
linesLowerBound = LBound(lines)
linesUpperBound = UBound(lines)
If Err.Number <> 0 Then
Debug.Print "SplitVBACode: Error accessing lines array bounds: " & Err.Description
chunks.Add "*Error accessing lines array: " & Err.Description & "*"
Err.Clear
Set SplitVBACode = chunks
Exit Function
End If
On Error GoTo 0
' Check if the lines array is empty
If linesUpperBound < linesLowerBound Then
Debug.Print "SplitVBACode: Lines array is empty"
chunks.Add "*No VBA code to document*"
Set SplitVBACode = chunks
Exit Function
End If
currentChunk = ""
chunkSize = 0
For i = linesLowerBound To linesUpperBound
Dim line As String
On Error Resume Next
line = lines(i)
If Err.Number <> 0 Then
Debug.Print "SplitVBACode: Error accessing lines(" & i & "): " & Err.Description
chunks.Add "*Error accessing line " & i & ": " & Err.Description & "*"
Err.Clear
Set SplitVBACode = chunks
Exit Function
End If
On Error GoTo 0
' Add the line to the current chunk
currentChunk = currentChunk & IIf(currentChunk = "", "", vbCrLf) & line
chunkSize = chunkSize + Len(line) + 2 ' +2 for vbCrLf
' Check if the current chunk is too large or if we've reached a logical boundary
If chunkSize > MAX_CHUNK_SIZE Or (i < linesUpperBound And IsLogicalBoundary(lines(i), lines(i + 1))) Then
If currentChunk <> "" Then
chunks.Add currentChunk
currentChunk = ""
chunkSize = 0
End If
End If
Next i
' Add the last chunk if it exists
If currentChunk <> "" Then
chunks.Add currentChunk
End If
' Ensure at least one chunk is added
If chunks.Count = 0 Then
Debug.Print "SplitVBACode: No chunks created"
chunks.Add "*No VBA code to document*"
End If
Set SplitVBACode = chunks
End Function
' Helper function to determine if we're at a logical boundary (e.g., between subroutines)
Public Function IsLogicalBoundary(currentLine As String, nextLine As String) As Boolean
currentLine = Trim(currentLine)
nextLine = Trim(nextLine)
' Check if the current line ends a subroutine/function and the next line starts a new one
If (UCase(Right(currentLine, 7)) = "END SUB" Or UCase(Right(currentLine, 12)) = "END FUNCTION") And _
(UCase(Left(nextLine, 3)) = "SUB" Or UCase(Left(nextLine, 8)) = "FUNCTION") Then
IsLogicalBoundary = True
Else
IsLogicalBoundary = False
End If
End Function
' Helper function to process API requests to Ollama
Public Sub ProcessApiQueue(ApiQueue() As ApiRequest, QueueSize As Long, fso As Object)
Dim i As Long
Dim http As Object
Dim requestBody As String
Dim response As String
Dim txtFile As Object
' Open the progress form
On Error Resume Next
DoCmd.OpenForm "frmOllamaProgress", acNormal
If Err.Number <> 0 Then
Debug.Print "Failed to open progress form: " & Err.Description
Err.Clear
' Continue without the progress form
GoTo SkipProgressForm
End If
On Error GoTo 0
Dim frm As Form
Set frm = Forms("frmOllamaProgress")
' Set the maximum width of the progress bar (in twips; 1 inch = 1440 twips)
Const PROGRESS_BAR_MAX_WIDTH As Long = 5760 ' 4 inches
' Check if the queue is empty
If QueueSize = 0 Then
Debug.Print "ApiQueue is empty, no items to process for Ollama"
frm.Controls("lblProgress").Caption = "Processing complete (0 of 0 requests)"
frm.Controls("rectProgressBar").Width = PROGRESS_BAR_MAX_WIDTH
frm.Controls("lblCurrentTask").Caption = "Finished"
DoEvents
DoCmd.Close acForm, "frmOllamaProgress"
GoTo SkipProgressForm
End If
' Verify array bounds
On Error Resume Next
Dim upperBound As Long
upperBound = UBound(ApiQueue)
On Error GoTo 0
Debug.Print "ApiQueue UBound: " & upperBound & ", QueueSize: " & QueueSize
If upperBound + 1 < QueueSize Then
Debug.Print "QueueSize (" & QueueSize & ") exceeds ApiQueue bounds (" & (upperBound + 1) & "). Adjusting QueueSize."
QueueSize = upperBound + 1
End If
For i = 0 To QueueSize - 1
' Debug: Log the current item being processed
Debug.Print "Processing ApiQueue(" & i & "): ItemType=" & ApiQueue(i).ItemType & ", ItemName=" & ApiQueue(i).ItemName & ", FilePath=" & ApiQueue(i).filePath
' Validate ApiQueue(i).Code
Debug.Print "Validating ApiQueue(" & i & ").Code"
If IsNull(ApiQueue(i).code) Or ApiQueue(i).code = "" Then
Debug.Print "ApiQueue(" & i & ").Code is empty or null for " & ApiQueue(i).ItemName
GoTo NextRequest
End If
Debug.Print "ApiQueue(" & i & ").Code length: " & Len(ApiQueue(i).code)
' Update overall progress
Debug.Print "Updating progress for item " & i
Dim progressPercent As Double
progressPercent = (i / QueueSize) * 100
frm.Controls("lblProgress").Caption = "Processing " & (i + 1) & " of " & QueueSize & " requests (" & Format(progressPercent, "0.0") & "%)"
frm.Controls("rectProgressBar").Width = (progressPercent / 100) * PROGRESS_BAR_MAX_WIDTH
frm.Controls("lblCurrentTask").Caption = "Processing " & LCase(ApiQueue(i).ItemType) & ": " & ApiQueue(i).ItemName
DoEvents ' Allow the form to refresh
' Split the code into chunks if necessary
Debug.Print "Splitting code into chunks for item " & i
Dim codeChunks As Collection
Set codeChunks = SplitVBACode(ApiQueue(i).code)
' Debug: Log the number of chunks
Debug.Print "Number of chunks for " & ApiQueue(i).ItemName & ": " & codeChunks.Count
' Open the file for appending
Debug.Print "Opening file for appending: " & ApiQueue(i).filePath
Set txtFile = fso.OpenTextFile(ApiQueue(i).filePath, 8, True)
If txtFile Is Nothing Then
Debug.Print "Failed to open file for appending: " & ApiQueue(i).filePath
GoTo NextRequest
End If
txtFile.WriteLine "## VBA Documentation (Generated by Ollama)"
' Process each chunk
Dim chunkIndex As Long
For chunkIndex = 1 To codeChunks.Count
Debug.Print "Processing chunk " & chunkIndex & " for " & ApiQueue(i).ItemName
Dim chunk As String
chunk = codeChunks(chunkIndex)
' Debug: Log the chunk being processed
Debug.Print "Processing chunk " & chunkIndex & " for " & ApiQueue(i).ItemName & ": " & Left(chunk, 100) & "..."
' Prepare the request to Ollama
Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
If http Is Nothing Then
Debug.Print "Failed to create WinHttpRequest object for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName
txtFile.WriteLine "#### Chunk " & chunkIndex
txtFile.WriteLine "*Error: Failed to create WinHttpRequest object.*"
GoTo NextChunk
End If
http.Open "POST", "http://localhost:11434/api/generate", False
http.SetRequestHeader "Content-Type", "application/json"
' Build the JSON payload with the chunk
requestBody = "{""model"": ""llama3.2:3b"", ""prompt"": ""Generate detailed Markdown documentation for the following VBA code. Include a high-level overview section titled \""What it does\"" that summarizes the overall purpose of the code, followed by detailed documentation of each subroutine or function, including descriptions, parameters, details, and dependencies:\n\n" & Replace(chunk, """", "\""") & """" & ", ""stream"": false}"
Debug.Print "Sending request to Ollama for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName
http.Send requestBody
' Get the response
If http.Status = 200 Then
response = http.ResponseText
Debug.Print "Received response from Ollama for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName & ": " & Left(response, 100) & "..."
' Parse the response (Ollama returns JSON with a "response" field)
Dim json As Object
Set json = ParseJson(response)
If Not json Is Nothing Then
Dim doc As String
On Error Resume Next
doc = json("response")
If Err.Number <> 0 Then
doc = "*Error parsing JSON response: " & Err.Description & "*"
Debug.Print "Error parsing JSON response for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName & ": " & Err.Description
Err.Clear
End If
On Error GoTo 0
' Append the documentation for this chunk
Debug.Print "Writing documentation for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName & ": " & Left(doc, 100) & "..."
txtFile.WriteLine "#### Chunk " & chunkIndex
txtFile.WriteLine doc
Else
Debug.Print "Failed to parse Ollama response for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName
txtFile.WriteLine "#### Chunk " & chunkIndex
txtFile.WriteLine "*Failed to parse Ollama response*"
End If
Else
Debug.Print "Ollama API call failed for chunk " & chunkIndex & " of " & ApiQueue(i).ItemName & ": Status " & http.Status & " - " & http.StatusText
txtFile.WriteLine "#### Chunk " & chunkIndex
txtFile.WriteLine "*Error calling Ollama API: " & http.Status & " - " & http.StatusText & "*"
End If
NextChunk:
' Clean up
Set http = Nothing
' Add a delay to avoid overwhelming the API (e.g., 1 second)
Sleep 1000
Next chunkIndex
txtFile.Close
NextRequest:
' Clean up
Set txtFile = Nothing
Next i
' Update the form to show completion
frm.Controls("lblProgress").Caption = "Processing complete (" & QueueSize & " of " & QueueSize & " requests)"
frm.Controls("rectProgressBar").Width = PROGRESS_BAR_MAX_WIDTH
frm.Controls("lblCurrentTask").Caption = "Finished"
DoEvents
' Close the progress form
DoCmd.Close acForm, "frmOllamaProgress"
SkipProgressForm:
Set fso = Nothing
End Sub
```
## What it does
*No VBA code to document due to export failure*

View File

@ -1,5 +1,4 @@
# Module1
Analysis generated on: 4/1/2025 5:13:26 PM
---
## VBA Code
```vba

View File

@ -1,5 +1,4 @@
# Module2
Analysis generated on: 4/1/2025 5:16:51 PM
---
## VBA Code
```vba

View File

@ -1,262 +0,0 @@
# SummaryModule
Analysis generated on: 4/1/2025 5:16:54 PM
---
## VBA Code
```vba
Attribute VB_Name = "SummaryModule"
Option Compare Database
Option Explicit
' Subroutine to generate a summary of the entire database
Public Sub GenerateDatabaseSummary()
Dim fso As Object
Dim overviewFile As Object
Dim summaryFile As Object
Dim vaultPath As String
Dim overviewPath As String
Dim summaryPath As String
On Error GoTo ErrorHandler
' Set up the FileSystemObject
Debug.Print "Creating FileSystemObject"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso Is Nothing Then
Debug.Print "Failed to create FileSystemObject"
MsgBox "Failed to create FileSystemObject. Error: " & Err.Description, vbCritical
Exit Sub
End If
Debug.Print "FileSystemObject created successfully"
' Define paths
vaultPath = CurrentProject.Path & "\ObsidianVault"
overviewPath = vaultPath & "\Overview.md"
summaryPath = vaultPath & "\WhatItDoes.md"
' Check if the vault folder exists
Debug.Print "Checking vault folder: " & vaultPath
If Not fso.FolderExists(vaultPath) Then
Debug.Print "Vault folder does not exist: " & vaultPath
MsgBox "Vault folder does not exist: " & vaultPath & ". Please run the other documentation modules first.", vbCritical
Exit Sub
End If
' Create the summary file
Debug.Print "Creating summary file: " & summaryPath
Set summaryFile = fso.CreateTextFile(summaryPath, True)
If summaryFile Is Nothing Then
Debug.Print "Failed to create WhatItDoes.md"
MsgBox "Failed to create WhatItDoes.md. Error: " & Err.Description, vbCritical
Exit Sub
End If
Debug.Print "Summary file created successfully"
' Write the summary header
summaryFile.WriteLine "# What It Does: Database Summary"
summaryFile.WriteLine "Generated on: " & Now
summaryFile.WriteLine "---"
summaryFile.WriteLine "## Overview"
summaryFile.WriteLine "This document provides a high-level summary of the Access database, aggregating information from the documentation of its Queries, Forms, Tables, Modules, and Macros."
summaryFile.WriteLine ""
' Initialize counters
Dim queryCount As Long
Dim formCount As Long
Dim tableCount As Long
Dim moduleCount As Long
Dim macroCount As Long
queryCount = 0
formCount = 0
tableCount = 0
moduleCount = 0
macroCount = 0
' Lists to store component names
Dim queriesList As String
Dim formsList As String
Dim tablesList As String
Dim modulesList As String
Dim macrosList As String
queriesList = ""
formsList = ""
tablesList = ""
modulesList = ""
macrosList = ""
' Check if Overview.md exists
If fso.FileExists(overviewPath) Then
Debug.Print "Reading Overview.md: " & overviewPath
Set overviewFile = fso.OpenTextFile(overviewPath, 1) ' 1 = ForReading
Dim overviewText As String
overviewText = overviewFile.ReadAll
overviewFile.Close
Set overviewFile = Nothing
' Split the overview text into lines
Dim lines() As String
lines = Split(overviewText, vbCrLf)
Dim i As Long
Dim currentSection As String
currentSection = ""
For i = LBound(lines) To UBound(lines)
Dim line As String
line = Trim(lines(i))
' Identify the current section
If InStr(1, line, "## Queries", vbTextCompare) > 0 Then
currentSection = "Queries"
ElseIf InStr(1, line, "## Forms", vbTextCompare) > 0 Then
currentSection = "Forms"
ElseIf InStr(1, line, "## Tables", vbTextCompare) > 0 Then
currentSection = "Tables"
ElseIf InStr(1, line, "## Modules", vbTextCompare) > 0 Then
currentSection = "Modules"
ElseIf InStr(1, line, "## Macros", vbTextCompare) > 0 Then
currentSection = "Macros"
ElseIf InStr(1, line, "## Analysis Complete", vbTextCompare) > 0 Then
currentSection = ""
End If
' Process the line based on the current section
If currentSection <> "" And Left(line, 2) = "- " And Not InStr(1, line, "Error:", vbTextCompare) > 0 Then
' Extract the component name from the link
Dim componentName As String
Dim startPos As Long
Dim endPos As Long
startPos = InStr(1, line, "[[") + 2
endPos = InStr(startPos, line, "]]")
If startPos > 2 And endPos > startPos Then
componentName = Mid(line, startPos, endPos - startPos)
' Remove the section prefix (e.g., "Queries/")
Dim slashPos As Long
slashPos = InStr(1, componentName, "/")
If slashPos > 0 Then
componentName = Mid(componentName, slashPos + 1)
End If
' Add to the appropriate list and increment the counter
Select Case currentSection
Case "Queries"
queryCount = queryCount + 1
queriesList = queriesList & "- [[" & currentSection & "/" & componentName & "]]" & vbCrLf
Case "Forms"
formCount = formCount + 1
formsList = formsList & "- [[" & currentSection & "/" & componentName & "]]" & vbCrLf
Case "Tables"
tableCount = tableCount + 1
tablesList = tablesList & "- [[" & currentSection & "/" & componentName & "]]" & vbCrLf
Case "Modules"
moduleCount = moduleCount + 1
modulesList = modulesList & "- [[" & currentSection & "/" & componentName & "]]" & vbCrLf
Case "Macros"
macroCount = macroCount + 1
macrosList = macrosList & "- [[" & currentSection & "/" & componentName & "]]" & vbCrLf
End Select
End If
ElseIf currentSection <> "" And InStr(1, line, "*No ", vbTextCompare) > 0 Then
' Handle the case where no components are found
Select Case currentSection
Case "Queries"
queryCount = 0
queriesList = "- *No queries found*" & vbCrLf
Case "Forms"
formCount = 0
formsList = "- *No forms found*" & vbCrLf
Case "Tables"
tableCount = 0
tablesList = "- *No tables found*" & vbCrLf
Case "Modules"
moduleCount = 0
modulesList = "- *No modules found*" & vbCrLf
Case "Macros"
macroCount = 0
macrosList = "- *No macros found*" & vbCrLf
End Select
End If
Next i
Else
Debug.Print "Overview.md not found: " & overviewPath
summaryFile.WriteLine "## Error"
summaryFile.WriteLine "- *Overview.md not found. Please run the other documentation modules first.*"
summaryFile.Close
Set summaryFile = Nothing
Set fso = Nothing
MsgBox "Overview.md not found: " & overviewPath & ". Please run the other documentation modules first.", vbCritical
Exit Sub
End If
' Write the summary counts
summaryFile.WriteLine "## Summary Counts"
summaryFile.WriteLine "- **Total Queries**: " & queryCount
summaryFile.WriteLine "- **Total Forms**: " & formCount
summaryFile.WriteLine "- **Total Tables**: " & tableCount
summaryFile.WriteLine "- **Total Modules**: " & moduleCount
summaryFile.WriteLine "- **Total Macros**: " & macroCount
summaryFile.WriteLine ""
' Write the detailed lists
summaryFile.WriteLine "## Queries (" & queryCount & ")"
If queryCount > 0 Then
summaryFile.Write queriesList
Else
summaryFile.WriteLine queriesList
End If
summaryFile.WriteLine ""
summaryFile.WriteLine "## Forms (" & formCount & ")"
If formCount > 0 Then
summaryFile.Write formsList
Else
summaryFile.WriteLine formsList
End If
summaryFile.WriteLine ""
summaryFile.WriteLine "## Tables (" & tableCount & ")"
If tableCount > 0 Then
summaryFile.Write tablesList
Else
summaryFile.WriteLine tablesList
End If
summaryFile.WriteLine ""
summaryFile.WriteLine "## Modules (" & moduleCount & ")"
If moduleCount > 0 Then
summaryFile.Write modulesList
Else
summaryFile.WriteLine modulesList
End If
summaryFile.WriteLine ""
summaryFile.WriteLine "## Macros (" & macroCount & ")"
If macroCount > 0 Then
summaryFile.Write macrosList
Else
summaryFile.WriteLine macrosList
End If
summaryFile.WriteLine ""
' Finalize and clean up
Debug.Print "Closing summary file"
summaryFile.Close
Set summaryFile = Nothing
Set fso = Nothing
MsgBox "Database summary complete. File saved to: " & summaryPath, vbInformation
Exit Sub
ErrorHandler:
Debug.Print "Error in GenerateDatabaseSummary: " & Err.Number & ": " & Err.Description & " at " & Now
If Not summaryFile Is Nothing Then
Debug.Print "Closing summaryFile in error handler"
summaryFile.Close
Set summaryFile = Nothing
End If
Set fso = Nothing
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical
Exit Sub
End Sub
```
## What it does
*No VBA code to document due to export failure*

View File

@ -1,5 +1,4 @@
# processvariables
Analysis generated on: 4/1/2025 5:03:02 PM
---
## VBA Code
```vba

View File

@ -1,5 +1,4 @@
# Filtered Parts
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 13

View File

@ -1,5 +1,4 @@
# GREGS PARTS
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 149

View File

@ -1,5 +1,4 @@
# GREGS_PARTS
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 149

View File

@ -1,5 +1,4 @@
# IEMUP1A0_Fake
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 0

View File

@ -1,5 +1,4 @@
# KM TBL Shreve Park Material Usage
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 0

View File

@ -1,5 +1,4 @@
# LINE REGENERATED 20 GA
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 271

View File

@ -1,5 +1,4 @@
# LINE REGENERATED 20 GA1
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 16

View File

@ -1,5 +1,4 @@
# Labor
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 42

View File

@ -1,5 +1,4 @@
# Line 18ga S_S on 2 Sheets
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 523

View File

@ -1,5 +1,4 @@
# Line 20ga 8110840 Current 4_4_02
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 185

View File

@ -1,5 +1,4 @@
# Line 20ga 8110840_8110841 B4 calculating 4_4_02
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 271

View File

@ -1,5 +1,4 @@
# Line 20ga 8110840_8110841 Regenerated 4_4_02
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 271

View File

@ -1,5 +1,4 @@
# Line 20ga 8110841 Current 4_4_02
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 86

View File

@ -1,5 +1,4 @@
# Line 8110435 16ga SS
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 193

View File

@ -1,5 +1,4 @@
# Line 8110731 18ga 304L SS
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 5

View File

@ -1,5 +1,4 @@
# Line 8110731 Best on 1 Sheet
Analysis generated on: 4/1/2025 4:23:54 PM
---
## Record Count
- 5

Some files were not shown because too many files have changed in this diff Show More