This commit is contained in:
louiscklaw
2025-02-01 02:03:24 +08:00
parent 8bf2589af5
commit a1833c6795
71 changed files with 2920 additions and 0 deletions

9
docker-share/Dockerfile Normal file
View File

@@ -0,0 +1,9 @@
# CREDIT: https://github.com/shren207/nextjs-docker-compose
# Dockerfile
FROM node:18-buster
RUN mkdir -p /app/node_modules
RUN chown 1000:1000 -R /app
WORKDIR /app
USER 1000:1000

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
npm i
npm run start

2117
docker-share/app/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
{
"name": "app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "http-server --cors ./public"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"http-server": "^14.1.1",
"serve": "^14.2.0"
}
}

View File

@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
helloworld
</body>
</html>

View File

@@ -0,0 +1,31 @@
# CREDIT: https://github.com/shren207/nextjs-docker-compose
services:
leewinnie818_share:
container_name: leewinnie818_share
build: .
restart: always
volumes:
- $PWD/app:/app
- leewinnie818_node_modules:/app/node_modules
working_dir: /app
# command: sleep infinity
command: bash entry.sh
labels:
- "traefik.enable=true"
- "traefik.http.routers.leewinnie818-http.rule=Host(`leewinnie818.louislabs.com`)"
- "traefik.http.routers.leewinnie818-http.entrypoints=web"
- "traefik.http.routers.leewinnie818-http.middlewares=leewinnie818-https"
- "traefik.http.middlewares.leewinnie818-https.redirectscheme.scheme=https"
- "traefik.http.routers.leewinnie818.rule=Host(`leewinnie818.louislabs.com`)"
- "traefik.http.routers.leewinnie818.entrypoints=websecure"
- "traefik.http.routers.leewinnie818.tls.certresolver=myresolver"
- "traefik.http.services.leewinnie818.loadbalancer.server.port=8080"
networks:
default:
external:
name: traefik-proxy-network
volumes:
leewinnie818_node_modules:

13
docker-share/package.json Normal file
View File

@@ -0,0 +1,13 @@
{
"name": "docker-helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"into_docker": "docker compose exec -it test bash"
},
"keywords": [],
"author": "",
"license": "ISC"
}

10
docker-share/up.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
git pull
docker compose pull
docker compose build
docker compose kill
docker compose down
docker compose up -d
docker compose logs -f

View File

@@ -0,0 +1,15 @@
{
"projects": {
"default": "showcase-12664"
},
"targets": {
"showcase-12664": {
"hosting": {
"leewinnie818-page": [
"leewinnie818-page"
]
}
}
},
"etags": {}
}

66
firebase-share/.gitignore vendored Normal file
View File

@@ -0,0 +1,66 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
firebase-debug.log*
firebase-debug.*.log*
# Firebase cache
.firebase/
# Firebase config
# Uncomment this if you'd like others to create their own Firebase project.
# For a team working on the same Firebase project(s), it is recommended to leave
# it commented so all members can deploy to the same project(s) in .firebaserc.
# .firebaserc
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env

View File

@@ -0,0 +1,6 @@
{
"hosting": [ {
"target": "leewinnie818-page",
"public": "public"
} ]
}

View File

@@ -0,0 +1,21 @@
{
"name": "ddmseoul",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "http-server",
"deploy": "firebase deploy",
"emulate":"firebase emulators:start --only hosting",
"gitUpdate": "git add . && git commit -m'update,'&& git push",
"uglifyjs":"uglifyjs --compress toplevel --mangle --mangle-props -o public/scripts.js -- public/scripts-src.js "
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"http-server": "^14.1.1",
"uglify-js": "^3.17.4"
}
}

View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Page Not Found</title>
<style media="screen">
body { background: #ECEFF1; color: rgba(0,0,0,0.87); font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; }
#message { background: white; max-width: 360px; margin: 100px auto 16px; padding: 32px 24px 16px; border-radius: 3px; }
#message h3 { color: #888; font-weight: normal; font-size: 16px; margin: 16px 0 12px; }
#message h2 { color: #ffa100; font-weight: bold; font-size: 16px; margin: 0 0 8px; }
#message h1 { font-size: 22px; font-weight: 300; color: rgba(0,0,0,0.6); margin: 0 0 16px;}
#message p { line-height: 140%; margin: 16px 0 24px; font-size: 14px; }
#message a { display: block; text-align: center; background: #039be5; text-transform: uppercase; text-decoration: none; color: white; padding: 16px; border-radius: 4px; }
#message, #message a { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); }
#load { color: rgba(0,0,0,0.4); text-align: center; font-size: 13px; }
@media (max-width: 600px) {
body, #message { margin-top: 0; background: white; box-shadow: none; }
body { border-top: 16px solid #ffa100; }
}
</style>
</head>
<body>
<div id="message">
<h2>404</h2>
<h1>Page Not Found</h1>
<p>The specified file was not found on this website. Please check the URL for mistakes and try again.</p>
<h3>Why am I seeing this?</h3>
<p>This page was generated by the Firebase Command-Line Interface. To modify it, edit the <code>404.html</code> file in your project's configured <code>public</code> directory.</p>
</div>
</body>
</html>

View File

@@ -0,0 +1,31 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
</head>
<body>
<div style="padding: 1rem">
<h3>Excel to powerpoint automation</h3>
<div>
<div>
<a href="/fake-kos.html?EDM_goto=jobs-featured">add-pp7</a>
</div>
<div>
<a href="/fake-kos.html?EDM_goto=consultants-featured">goto consultants-featured</a>
</div>
<div>
<a href="/fake-kos.html?EDM_goto=our_brands">goto our_brands</a>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
<script src="scripts.js"></script>
<script>
console.log('hello from louiscklaw.github.io')
</script>
</body>
</html>

1
firebase-share/readme.md Normal file
View File

@@ -0,0 +1 @@
firebase share

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
rm 'Template(R2)coverpage.pptx'
timeout 1
copy 'Template(R2)coverpage.pptx.original' 'Template(R2)coverpage.pptx'

BIN
fix/Template(R1)result.pptx Normal file

Binary file not shown.

7
gitUpdate.bat Normal file
View File

@@ -0,0 +1,7 @@
git status .
@pause
git add .
git commit -m"update leewinnie818,"
start git push

View File

@@ -0,0 +1,10 @@
rmdir /s /q delivery
mkdir delivery\1
mkdir delivery\2
copy "excel-to-powerpoint-reporting\delivery-copy1\202212 monthly report - Template.xlsm" delivery\1
copy "excel-to-powerpoint-reporting\delivery-copy1\Template.pptx" delivery\1
copy "excel-to-powerpoint-reporting\delivery-copy2\202212 monthly report - Template.xlsm" delivery\2
copy "excel-to-powerpoint-reporting\delivery-copy2\Template.pptx" delivery\2

View File

@@ -0,0 +1 @@
xlwings vba edit

View File

@@ -0,0 +1,22 @@
{
"name": "excel-to-powerpoint-reporting",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"doc": "docs"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"gitUpdate": "git add . && git commit -m\"update excel-to-powerpoint-reporting,\" && git push"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"bootstrap": "^5.2.3",
"react-bootstrap": "^2.6.0"
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
job1-update/Template.pptx Normal file

Binary file not shown.

BIN
job1/Book1.xlsm Normal file

Binary file not shown.

Binary file not shown.

10
job1/build_delivery.bat Normal file
View File

@@ -0,0 +1,10 @@
rmdir /s /q delivery
mkdir delivery\1
mkdir delivery\2
copy "excel-to-powerpoint-reporting\delivery-copy1\202212 monthly report - Template.xlsm" delivery\1
copy "excel-to-powerpoint-reporting\delivery-copy1\Template.pptx" delivery\1
copy "excel-to-powerpoint-reporting\delivery-copy2\202212 monthly report - Template.xlsm" delivery\2
copy "excel-to-powerpoint-reporting\delivery-copy2\Template.pptx" delivery\2

Binary file not shown.

View File

@@ -0,0 +1,395 @@
Option Explicit
Dim ppt As PowerPoint.Application
Dim pres As PowerPoint.Presentation
Dim sl As PowerPoint.Slide
Dim cl As PowerPoint.CustomLayout
Dim sh As PowerPoint.ShapeRange
Dim pres_right As Integer
Dim pres_left As Integer
Dim pres_title_top As Integer
Dim pres_body_top As Integer
Dim cell_this_month_income As String
Dim rngETA As Range
Dim rngActive As Range
Dim textCellList(5) As String
Dim alphabatList(6) As String
Dim numberList(17 - 8) As String
Sub ReplaceInPowerPoint(text_look_for As String, text_replace As String, look_into_slide As Integer)
' MsgBox text_look_for,,"title"
' MsgBox text_replace,,"title"
' MsgBox look_into_slide,,"title"
Debug.Print ppt
Dim oSld As Slide
Set oSld = ppt.ActivePresentation.Slides(look_into_slide)
Dim shp As PowerPoint.Shape
Dim i As Integer
Dim j As Integer
Dim temp As String
' Dim text_look_for, text_replace As String
Dim exitLoop As Boolean
exitLoop = False
For Each shp In oSld.Shapes
If shp.HasTable Then
For i = 1 To shp.Table.Rows.Count
For j = 1 To shp.Table.Columns.Count
temp = shp.Table.Rows.item(i).Cells(j).Shape.TextFrame.TextRange.Text
If (InStr(1, temp, text_look_for) > 0) Then
shp.Table.Rows.item(i).Cells(j).Shape.TextFrame.TextRange.Text = _
Replace(temp, text_look_for, text_replace)
exitLoop = True
If (exitLoop) Then
Debug.Print "exit j"
Exit For
End If
End If
Next j
If (exitLoop) Then
Debug.Print "exit i"
Exit For
End If
Next i
End If
If (exitLoop) Then
Debug.Print "exit shp"
Exit For
End If
Next shp
End Sub
Sub updateStatus(msg As String)
Range("A1:A1").Value = msg
End Sub
Sub replaceInSlide0(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 1
updateStatus "replaceInSlide0"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide0" & textCell & ":" & textCell
If (Chr(i) = "F" Or j = 16) Then
' intented empty
Else
If (Chr(i) = "E" Or Chr(i) = "I") Then
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "(" & Abs(rngActive.Value) & ")", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide1(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 2
updateStatus "replaceInSlide1"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide1" & textCell & ":" & textCell
If (Chr(i) = "E" Or Chr(i) = "I") Then
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "(" & Abs(rngActive.Value) & ")", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide2(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 3
updateStatus "replaceInSlide2"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide2" & textCell & ":" & textCell
If (Chr(i) = "D") Then
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "(" & Abs(rngActive.Value) & ")", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide3(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 4
updateStatus "replaceInSlide3"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide3" & textCell & ":" & textCell
If (Chr(i) = "D") Then
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "(" & Abs(rngActive.Value) & ")", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide4(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 5
updateStatus "replaceInSlide4"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide4" & textCell & ":" & textCell
Debug.Print textCell & "||Value||" & rngActive.Value
Debug.Print textCell & "||text||" & rngActive.Text
If (Chr(i) = "D") Then
If (rngActive.Value = "-") Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
ElseIf (rngActive.Value = "N/A") Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
ElseIf (rngActive.Value = 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Text = "0") Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide5(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 6
updateStatus "replaceInSlide5"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide5" & textCell & ":" & textCell
If (Chr(i) = "E" Or Chr(i) = "I") Then
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Else
If (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "(" & Abs(rngActive.Value) & ")", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, rngActive.Value, activeSheet
End If
End If
Next j
Next i
End Sub
Sub replaceInSlide6(startChar As String, endChar As String, startNum As Integer, endNum As Integer)
' msgbox startChar & startNum
' msgbox endChar & endNum
Dim i As Integer
Dim j As Integer
Dim textCell As Variant
Dim activeSheet As Integer
activeSheet = 7
updateStatus "replaceInSlide6"
For i = Asc(startChar) To Asc(endChar)
For j = startNum To endNum
textCell = Chr(i) & j
Set rngActive = Range(textCell & ":" & textCell)
updateStatus "replaceInSlide6" & textCell & ":" & textCell
If (rngActive.Value >= 1) Then
ReplaceInPowerPoint "\E" & textCell, "100" & "%", activeSheet
ElseIf (rngActive.Value = -0.1) Then
ReplaceInPowerPoint "\E" & textCell, "0" & "%", activeSheet
ElseIf (rngActive.Value < -1) Then
ReplaceInPowerPoint "\E" & textCell, "N/A", activeSheet
ElseIf (rngActive.Value < 0) Then
ReplaceInPowerPoint "\E" & textCell, "-", activeSheet
Else
ReplaceInPowerPoint "\E" & textCell, Round(rngActive.Value * 100, 0) & "%", activeSheet
End If
Next j
Next i
End Sub
Sub Main()
Set ppt = New PowerPoint.Application
Set pres = ppt.Presentations.Open(ActiveWorkbook.Path + "\" + "Template.pptx", msoFalse)
replaceInSlide0 "C", "I", 9, 17
replaceInSlide1 "C", "I",31, 38
replaceInSlide2 "B", "D",49, 58
replaceInSlide3 "C", "E",71, 74
replaceInSlide4 "B", "D", 79, 92
replaceInSlide5 "C", "E",102, 107
replaceInSlide6 "B", "D",119, 125
MsgBox "done"
End Sub

View File

@@ -0,0 +1 @@
xlwings vba edit

View File

@@ -0,0 +1,22 @@
{
"name": "excel-to-powerpoint-reporting",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"doc": "docs"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"gitUpdate": "git add . && git commit -m\"update excel-to-powerpoint-reporting,\" && git push"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"bootstrap": "^5.2.3",
"react-bootstrap": "^2.6.0"
}
}

BIN
job1_ref/SsG0xP5mrq.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
job1_ref/eVML50eZx1.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
job1_ref/jI6W5eY9gW.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
job4/demo/Template(R1).pptx Normal file

Binary file not shown.

Binary file not shown.

29
meta.md Normal file
View File

@@ -0,0 +1,29 @@
---
tags: [excel, vba]
---
# leewinnie818
### history
原則上我唔想表現到改小小野都要收錢
但係坦白講改完要全部對一轉都係工作量
不如我
1
0
-1
1.99999
-1.99999
99999
-99999
101%
100%
0.1%
0%
-0.1%
-100%
-101%

22
package.json Normal file
View File

@@ -0,0 +1,22 @@
{
"name": "daniel_jo_assignment_student",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"doc": "docs"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"gitUpdate": "git add . && git commit -m\"update leewinnie818,\" && git push"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"bootstrap": "^5.2.3",
"react-bootstrap": "^2.6.0"
}
}