Skip to content

Commit fc29019

Browse files
committed
Edit paths
1 parent 40f3007 commit fc29019

File tree

2 files changed

+37
-40
lines changed

2 files changed

+37
-40
lines changed

Main.ps1

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,33 @@ 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+
Write-Host "Main Source Dir: $mainSourceDir"
24+
25+
# Check if the source dir was resolved correctly
26+
if (-not (Test-Path $mainSourceDir)) {
27+
Write-Host "🔴 Error: Source directory not found: $mainSourceDir"
28+
exit 1
29+
}
2530

2631
# 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
32+
$fileDirNames = Get-ChildItem -Path "$mainSourceDir" -Directory | Select-Object -ExpandProperty Name
33+
Write-TimedMessage "Folders in ${mainSourceDir}: $fileDirNames" -StartNewStep
2934

3035
# Check if the folders array is empty
31-
if ($folders.Count -eq 0) {
32-
Write-TimedMessage "No folders found in ${srcDir}. Exiting script." -StartNewStep
36+
if ($fileDirNames.Count -eq 0) {
37+
Write-TimedMessage "No folders found in ${mainSourceDir}. Exiting script." -StartNewStep
3338
exit 1
3439
}
3540

@@ -52,16 +57,16 @@ function Get-OfficeApp {
5257

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

5964
if ($app) {
6065
if ($officeApps -notcontains $app) {
6166
$officeApps += $app
6267
}
6368
} else {
64-
Write-TimedMessage "Unknown file extension: $fileExtension. Skipping..."
69+
Write-TimedMessage "Unknown file extension: $fileExt. Skipping..."
6570
continue
6671
}
6772
}
@@ -71,6 +76,7 @@ Write-TimedMessage "Required Office applications: $officeApps"
7176
Write-TimedMessage "Open and close Office applications" -StartNewStep
7277
. "$PSScriptRoot/scripts/Open-Close-Office.ps1" $officeApps
7378
Write-TimedMessage "Completed opening and closing Office applications"
79+
Take-Screenshot -OutputPath "${srcDir}screenshots/AllOfficeAppClosed_{{timestamp}}.png"
7480
Write-Host "========================="
7581

7682
# Enable VBOM for each Office application
@@ -86,34 +92,31 @@ Write-TimedMessage "Minimizing Administrator window" -StartNewStep
8692
Minimize-Window "Administrator: C:\actions"
8793
Write-TimedMessage "Window minimized"
8894

89-
$originalSrcDir = $srcDir
90-
91-
foreach ($folder in $folders) {
95+
foreach ($fileDirName in $fileDirNames) {
9296
Write-Host "========================="
9397
# Reset the source directory to the original value
94-
$srcDir = $originalSrcDir
9598

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
99+
Write-TimedMessage "Processing folder: $fileDirName" -StartNewStep
100+
$fileExt = $folder.Substring($folder.LastIndexOf('.') + 1)
101+
Write-Host "File extension: $fileExt"
102+
$app = Get-OfficeApp -FileExtension $fileExt
100103

101104
$ext = ""
102105
if ($app -ne "Access") {
103106
$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}"
107+
Write-TimedMessage "Creating Zip file and renaming to Office document target with path ${mainSourceDir}${fileDirName}" -StartNewStep
108+
& "$PSScriptRoot/scripts/Zip-It.ps1" "${mainSourceDir}${fileDirName}"
106109
Write-TimedMessage "Zip file created"
107110
}
108111
else {
109112
$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"
113+
Write-TimedMessage "Copying directory and content to Skeleton directory" -StartNewStep
114+
Copy-Item -Path "${mainSourceDir}${fileDirName}/DBSource" -Destination "${mainSourceDir}${fileDirName}/Skeleton" -Recurse -Force
115+
Write-TimedMessage "Directory copied"
113116
}
114117

115118
Write-TimedMessage "Copying and renaming file to correct name" -StartNewStep
116-
. "$PSScriptRoot/scripts/Rename-It.ps1" "${srcDir}${folder}" "$ext"
119+
& "$PSScriptRoot/scripts/Rename-It.ps1" "${srcDir}${folder}" "$ext"
117120
Write-TimedMessage "File renamed"
118121

119122
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)