cleaned up docs and further documentation
parent
601c6652b3
commit
74c8735d1b
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"collapse-filter": true,
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
|
|
|
@ -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"
|
||||
]
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
# DS Polish
|
||||
Analysis generated on: 4/1/2025 4:10:56 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS PressBrake
|
||||
Analysis generated on: 4/1/2025 4:10:45 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS Salvagnini
|
||||
Analysis generated on: 4/1/2025 4:11:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS Shake And Break
|
||||
Analysis generated on: 4/1/2025 4:05:07 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS Shear
|
||||
Analysis generated on: 4/1/2025 4:10:37 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS Spot Weld
|
||||
Analysis generated on: 4/1/2025 4:10:05 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# DS Timesaver
|
||||
Analysis generated on: 4/1/2025 4:09:26 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/DataSheetQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# ErrorForm
|
||||
Analysis generated on: 4/1/2025 4:09:34 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Filtered Parts old
|
||||
Analysis generated on: 4/1/2025 4:09:40 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Filtered Parts
|
||||
Analysis generated on: 4/1/2025 4:09:54 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Form1
|
||||
Analysis generated on: 4/1/2025 4:11:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/AddnlProc]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Gauge
|
||||
Analysis generated on: 4/1/2025 4:11:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/metalQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# HoldPartNumberForm
|
||||
Analysis generated on: 4/1/2025 4:09:19 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Latest Revision of parts
|
||||
Analysis generated on: 4/1/2025 4:03:20 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/Processes by material]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Main Menu
|
||||
Analysis generated on: 4/1/2025 4:08:03 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# MakeForm
|
||||
Analysis generated on: 4/1/2025 4:00:41 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/Qmake1-14]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Material Selection Screen
|
||||
Analysis generated on: 4/1/2025 4:04:59 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Material Upgrade old
|
||||
Analysis generated on: 4/1/2025 4:09:00 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/Processes by material]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Material Upgrade
|
||||
Analysis generated on: 4/1/2025 4:07:02 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/Processes by material]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Miscellaneous
|
||||
Analysis generated on: 4/1/2025 4:02:40 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# New Process Sheet
|
||||
Analysis generated on: 4/1/2025 4:04:01 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Process]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# PROCESS97
|
||||
Analysis generated on: 4/1/2025 4:08:09 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/UniversalQ]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Parts Per Sheet
|
||||
Analysis generated on: 4/1/2025 4:05:46 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -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];]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Phantom Selection Screen
|
||||
Analysis generated on: 4/1/2025 4:04:51 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# PressBrakeSubForm
|
||||
Analysis generated on: 4/1/2025 4:11:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/PressBrakeQ1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Process Sheet test
|
||||
Analysis generated on: 4/1/2025 4:01:17 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Process Sheet
|
||||
Analysis generated on: 4/1/2025 4:08:21 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/UniversalQ]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Restart Process Sheet
|
||||
Analysis generated on: 4/1/2025 4:06:13 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Process]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# SP Delete
|
||||
Analysis generated on: 4/1/2025 4:06:48 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Scott's Utilization of C6-C9
|
||||
Analysis generated on: 4/1/2025 4:07:47 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# SetupPaths
|
||||
Analysis generated on: 4/1/2025 4:07:36 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Sheet Metal Weight
|
||||
Analysis generated on: 4/1/2025 4:03:52 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Sheet Utilization Utilites
|
||||
Analysis generated on: 4/1/2025 4:02:30 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Sorted by Machine old
|
||||
Analysis generated on: 4/1/2025 4:01:48 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Sorted by Machine
|
||||
Analysis generated on: 4/1/2025 4:07:22 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# T
|
||||
Analysis generated on: 4/1/2025 4:02:48 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/UniversalQ]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# TRASH
|
||||
Analysis generated on: 4/1/2025 4:05:15 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/UniversalQ]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Tricks
|
||||
Analysis generated on: 4/1/2025 4:11:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Tricks]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Universal Selection Screen
|
||||
Analysis generated on: 4/1/2025 4:04:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Update Work Centers
|
||||
Analysis generated on: 4/1/2025 4:08:03 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/PBWCUpdateQuery]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Util Adder
|
||||
Analysis generated on: 4/1/2025 4:04:28 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -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];]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Util Result1
|
||||
Analysis generated on: 4/1/2025 4:03:04 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Util Selection C1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Util Result2
|
||||
Analysis generated on: 4/1/2025 4:04:12 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Util Selection C1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Util Select picker
|
||||
Analysis generated on: 4/1/2025 4:03:39 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/Util Select 0 Q1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Utilities
|
||||
Analysis generated on: 4/1/2025 4:03:12 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Process]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Utilization on MS hold
|
||||
Analysis generated on: 4/1/2025 4:00:27 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Utilization on Multiple Sheets old
|
||||
Analysis generated on: 4/1/2025 4:02:00 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Utilization on Multiple Sheets
|
||||
Analysis generated on: 4/1/2025 4:02:13 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# YESORNO
|
||||
Analysis generated on: 4/1/2025 4:00:54 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -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*
|
|
@ -1,5 +1,4 @@
|
|||
# temp
|
||||
Analysis generated on: 4/1/2025 4:06:31 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Queries/UniversalQ]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# term Process Sheet
|
||||
Analysis generated on: 4/1/2025 4:05:57 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Process]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# test1
|
||||
Analysis generated on: 4/1/2025 4:05:35 PM
|
||||
---
|
||||
## Record Source
|
||||
- [[Tables/Util Selection C1]]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# xyz
|
||||
Analysis generated on: 4/1/2025 4:01:32 PM
|
||||
---
|
||||
## Record Source
|
||||
- *None*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Filter across Materials Utilitzation
|
||||
Analysis generated on: 4/1/2025 3:41:10 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Macro1
|
||||
Analysis generated on: 4/1/2025 3:41:10 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Macro2
|
||||
Analysis generated on: 4/1/2025 3:41:08 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Material Selections for Utilitzation
|
||||
Analysis generated on: 4/1/2025 3:41:09 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Material Upgrade
|
||||
Analysis generated on: 4/1/2025 3:41:06 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# MaterialCalculate
|
||||
Analysis generated on: 4/1/2025 3:41:11 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Notes for Util
|
||||
Analysis generated on: 4/1/2025 3:41:11 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Open Processes by List
|
||||
Analysis generated on: 4/1/2025 3:41:13 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# OpenUpC1
|
||||
Analysis generated on: 4/1/2025 3:41:14 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# OpenUpGaugeTable
|
||||
Analysis generated on: 4/1/2025 3:41:14 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -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*
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Process 14 two
|
||||
Analysis generated on: 4/1/2025 3:41:15 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# QueryfromFilterParts3
|
||||
Analysis generated on: 4/1/2025 3:41:15 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Restore Util Selection C1
|
||||
Analysis generated on: 4/1/2025 3:41:16 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Return to Utilization Form
|
||||
Analysis generated on: 4/1/2025 3:41:16 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# SP C1 Report Macro
|
||||
Analysis generated on: 4/1/2025 3:41:17 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# SP Make table
|
||||
Analysis generated on: 4/1/2025 3:41:17 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Tricks
|
||||
Analysis generated on: 4/1/2025 3:41:13 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Zero Util Matrix
|
||||
Analysis generated on: 4/1/2025 3:41:12 PM
|
||||
---
|
||||
## Macro Definition
|
||||
| Action | Arguments | Condition |
|
||||
|
|
|
@ -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**
|
||||
------------
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# MacroModule
|
||||
Analysis generated on: 4/1/2025 5:16:54 PM
|
||||
---
|
||||
## VBA Code
|
||||
```vba
|
||||
|
|
|
@ -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*
|
|
@ -1,5 +1,4 @@
|
|||
# Module1
|
||||
Analysis generated on: 4/1/2025 5:13:26 PM
|
||||
---
|
||||
## VBA Code
|
||||
```vba
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Module2
|
||||
Analysis generated on: 4/1/2025 5:16:51 PM
|
||||
---
|
||||
## VBA Code
|
||||
```vba
|
||||
|
|
|
@ -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*
|
|
@ -1,5 +1,4 @@
|
|||
# processvariables
|
||||
Analysis generated on: 4/1/2025 5:03:02 PM
|
||||
---
|
||||
## VBA Code
|
||||
```vba
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Filtered Parts
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 13
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# GREGS PARTS
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 149
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# GREGS_PARTS
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 149
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# IEMUP1A0_Fake
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 0
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# KM TBL Shreve Park Material Usage
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 0
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# LINE REGENERATED 20 GA
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 271
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# LINE REGENERATED 20 GA1
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 16
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Labor
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 42
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Line 18ga S_S on 2 Sheets
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 523
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Line 20ga 8110840 Current 4_4_02
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 185
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Line 20ga 8110841 Current 4_4_02
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 86
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Line 8110435 16ga SS
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 193
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Line 8110731 18ga 304L SS
|
||||
Analysis generated on: 4/1/2025 4:23:54 PM
|
||||
---
|
||||
## Record Count
|
||||
- 5
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue