update,
This commit is contained in:
Binary file not shown.
BIN
job1/excel-to-powerpoint-reporting/delivery-copy1/Template.pptx
Normal file
BIN
job1/excel-to-powerpoint-reporting/delivery-copy1/Template.pptx
Normal file
Binary file not shown.
Binary file not shown.
395
job1/excel-to-powerpoint-reporting/delivery-copy2/Module1.bas
Normal file
395
job1/excel-to-powerpoint-reporting/delivery-copy2/Module1.bas
Normal 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
|
||||
|
||||
|
||||
|
BIN
job1/excel-to-powerpoint-reporting/delivery-copy2/Template.pptx
Normal file
BIN
job1/excel-to-powerpoint-reporting/delivery-copy2/Template.pptx
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
xlwings vba edit
|
Binary file not shown.
Binary file not shown.
22
job1/excel-to-powerpoint-reporting/package.json
Normal file
22
job1/excel-to-powerpoint-reporting/package.json
Normal 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"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user