Skip to content

Commit 7be9c17

Browse files
committed
Edit paths
1 parent 40f3007 commit 7be9c17

File tree

2 files changed

+38
-40
lines changed

2 files changed

+38
-40
lines changed

Main.ps1

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,34 @@ param(
88
$mainTimer = [System.Diagnostics.Stopwatch]::StartNew()
99
$stepTimer = [System.Diagnostics.Stopwatch]::StartNew()
1010

11-
# Import utility functions
12-
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
13-
. "$scriptPath/scripts/utils/Minimize.ps1" # To get better screenshots we need to minimize the "Administrator" CMD window
14-
. "$scriptPath/scripts/utils/TimedMessage.ps1"
15-
. "$scriptPath/scripts/utils/Invoke.ps1" # Function to invoke a script with a timeout
16-
. "$scriptPath/scripts/utils/Screenshot.ps1"
17-
. "$scriptPath/scripts/utils/Path.ps1"
11+
Set-Variable -Name MainScriptDir -Value "$PSScriptRoot" -Option Constant
1812

13+
# Import utility functions
14+
. "$MainScriptDir/scripts/utils/Invoke.ps1" # Function to invoke a script with a timeout
15+
. "$MainScriptDir/scripts/utils/Minimize.ps1" # To get better screenshots we need to minimize the "Administrator" CMD window
16+
. "$MainScriptDir/scripts/utils/Path.ps1"
17+
. "$MainScriptDir/scripts/utils/Screenshot.ps1"
18+
. "$MainScriptDir/scripts/utils/TimedMessage.ps1"
1919

2020
Write-TimedMessage "Current directory: $(pwd)" -StartNewStep
21-
$srcDir = NormalizeDirPath $SourceDir
22-
Write-Host "Using source directory: $srcDir"
23-
$srcDir = GetAbsPath -path $srcDir -basePath $PSScriptRoot
24-
Write-TimedMessage "Normalized source abs directory: $srcDir"
21+
# This directory contains the directories associated with the office documents
22+
$mainSourceDir = NormalizeDirPath (Resolve-Path $SourceDir).Path
23+
$mainSourceDir = ReNormalizeDirPath $mainSourceDir
24+
Write-Host "Main Source Dir: $mainSourceDir"
25+
26+
# Check if the source dir was resolved correctly
27+
if (-not (Test-Path $mainSourceDir)) {
28+
Write-Host "🔴 Error: Source directory not found: $mainSourceDir"
29+
exit 1
30+
}
2531

2632
# Read name of the folders under the specified source directory into an array
27-
$folders = Get-ChildItem -Path "$srcDir" -Directory | Select-Object -ExpandProperty Name
28-
Write-TimedMessage "Folders in ${srcDir}: $folders" -StartNewStep
33+
$fileDirNames = Get-ChildItem -Path "$mainSourceDir" -Directory | Select-Object -ExpandProperty Name
34+
Write-TimedMessage "Folders in ${mainSourceDir}: $fileDirNames" -StartNewStep
2935

3036
# Check if the folders array is empty
31-
if ($folders.Count -eq 0) {
32-
Write-TimedMessage "No folders found in ${srcDir}. Exiting script." -StartNewStep
37+
if ($fileDirNames.Count -eq 0) {
38+
Write-TimedMessage "No folders found in ${mainSourceDir}. Exiting script." -StartNewStep
3339
exit 1
3440
}
3541

@@ -52,16 +58,16 @@ function Get-OfficeApp {
5258

5359
# Create a list of Office applications that are needed based on the file extensions of the folders
5460
Write-TimedMessage "Identifying required Office applications" -StartNewStep
55-
foreach ($folder in $folders) {
56-
$fileExtension = GetFileExtension $folder
57-
$app = Get-OfficeApp -FileExtension $fileExtension
61+
foreach ($fileDirName in $fileDirNames) {
62+
$fileExt = GetFileExtension $fileDirName
63+
$app = Get-OfficeApp -FileExtension $fileExt
5864

5965
if ($app) {
6066
if ($officeApps -notcontains $app) {
6167
$officeApps += $app
6268
}
6369
} else {
64-
Write-TimedMessage "Unknown file extension: $fileExtension. Skipping..."
70+
Write-TimedMessage "Unknown file extension: $fileExt. Skipping..."
6571
continue
6672
}
6773
}
@@ -71,6 +77,7 @@ Write-TimedMessage "Required Office applications: $officeApps"
7177
Write-TimedMessage "Open and close Office applications" -StartNewStep
7278
. "$PSScriptRoot/scripts/Open-Close-Office.ps1" $officeApps
7379
Write-TimedMessage "Completed opening and closing Office applications"
80+
Take-Screenshot -OutputPath "${srcDir}screenshots/AllOfficeAppClosed_{{timestamp}}.png"
7481
Write-Host "========================="
7582

7683
# Enable VBOM for each Office application
@@ -86,34 +93,31 @@ Write-TimedMessage "Minimizing Administrator window" -StartNewStep
8693
Minimize-Window "Administrator: C:\actions"
8794
Write-TimedMessage "Window minimized"
8895

89-
$originalSrcDir = $srcDir
90-
91-
foreach ($folder in $folders) {
96+
foreach ($fileDirName in $fileDirNames) {
9297
Write-Host "========================="
9398
# Reset the source directory to the original value
94-
$srcDir = $originalSrcDir
9599

96-
Write-TimedMessage "Processing folder: $folder" -StartNewStep
97-
$fileExtension = $folder.Substring($folder.LastIndexOf('.') + 1)
98-
Write-Host "File extension: $fileExtension"
99-
$app = Get-OfficeApp -FileExtension $fileExtension
100+
Write-TimedMessage "Processing folder: $fileDirName" -StartNewStep
101+
$fileExt = $folder.Substring($folder.LastIndexOf('.') + 1)
102+
Write-Host "File extension: $fileExt"
103+
$app = Get-OfficeApp -FileExtension $fileExt
100104

101105
$ext = ""
102106
if ($app -ne "Access") {
103107
$ext = "zip"
104-
Write-TimedMessage "Creating Zip file and renaming to Office document target with path ${srcDir}${folder}" -StartNewStep
105-
. "$PSScriptRoot/scripts/Zip-It.ps1" "${srcDir}${folder}"
108+
Write-TimedMessage "Creating Zip file and renaming to Office document target with path ${mainSourceDir}${fileDirName}" -StartNewStep
109+
& "$PSScriptRoot/scripts/Zip-It.ps1" "${mainSourceDir}${fileDirName}"
106110
Write-TimedMessage "Zip file created"
107111
}
108112
else {
109113
$ext = "accdb"
110-
Write-TimedMessage "Copying folder and content to Skeleton folder" -StartNewStep
111-
Copy-Item -Path "${srcDir}${folder}/DBSource" -Destination "${srcDir}${folder}/Skeleton" -Recurse -Force
112-
Write-TimedMessage "Folder copied"
114+
Write-TimedMessage "Copying directory and content to Skeleton directory" -StartNewStep
115+
Copy-Item -Path "${mainSourceDir}${fileDirName}/DBSource" -Destination "${mainSourceDir}${fileDirName}/Skeleton" -Recurse -Force
116+
Write-TimedMessage "Directory copied"
113117
}
114118

115119
Write-TimedMessage "Copying and renaming file to correct name" -StartNewStep
116-
. "$PSScriptRoot/scripts/Rename-It.ps1" "${srcDir}${folder}" "$ext"
120+
& "$PSScriptRoot/scripts/Rename-It.ps1" "${srcDir}${folder}" "$ext"
117121
Write-TimedMessage "File renamed"
118122

119123
Write-TimedMessage "Importing VBA code into Office document" -StartNewStep

scripts/Build-VBA.ps1

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44
# and imports all .bas files from a specified folder into the document.
55
# It then saves and closes the document, and cleans up the COM objects.
66

7-
# Load utiliies
8-
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
9-
. "$scriptPath/utils/Screenshot.ps1"
10-
117
# Args
128
$folderName = $args[0]
139
$officeAppName = $args[1]
@@ -22,9 +18,7 @@ if (-not $officeAppName) {
2218
exit 1
2319
}
2420

25-
# Import utility functions
26-
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
27-
. "$scriptPath/utils/Path.ps1"
21+
Write-Host "$mainSourceDir: $$mainSourceDir"
2822

2923
$currentDir = (Get-Location).Path + "/"
3024
Write-Host "Current directory: $currentDir"

0 commit comments

Comments
 (0)