- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Option Explicit
Public Const wkWhite As Long = 16777215
Public Const wkBlack As Long = 0
Public Const wkRed As Long = 255
Public Const wkYellow As Long = 65535
Public Const wkBlue As Long = 13382451
Public Const wkColor_SCI As Long = 10027161
Public Const wkColor_SCO As Long = 16737792
Public Const wkColor_FIN As Long = 65280
Public Const wkColor_BUY As Long = 39270
Public Const wkColor_SPM As Long = 39423
Public Const wkColor_QFS As Long = 16776960
Public Const wkColor_DMD As Long = 10027161
Public Const wkColor_SUP As Long = 16737792
Public Const wkColor_SEQ As Long = 65280
Public Const wkColor_IPO As Long = 39270
Public Const wkColor_SOP As Long = 39423
Public Const wkColor_OTH As Long = 16776960
Public Const wkDeployedCol As Long = 16737792
Public Const wkPartialCol As Long = 39423
Public Const wkMatureCol As Long = 65280
Public Const wkColor_EU As Long = 13382451
Public Const wkColor_AM As Long = 8421504
Public Const wkColor_AP As Long = 153
Public Const wkLarg As Single = 16
Public Const wkHaut As Single = 12
Public Const wkSheet As String = "Live Sites"
'
Sub GenerateMap()
DrawMap "Y"
End Sub
Sub UpdateMap()
DrawMap "N"
End Sub
Sub DrawMap(ByVal parMode As String)
Dim wkCnx As ADODB.Connection
Dim wkRS As ADODB.Recordset
Dim wkSQL As String
Dim wkFile As String
Dim wkActif As String
Dim wkSite As String
Dim i As Integer
Dim j As Integer
Dim wkColumn_Site As Integer
Dim wkColumn_Region As Integer
Dim wkColumn_Slide As Integer
Dim wkColumn_Left As Integer
Dim wkColumn_Top As Integer
Dim wkColumn_XBoard As Integer
Dim wkColumn_YBoard As Integer
Dim wkColumn_XSite As Integer
Dim wkColumn_YSite As Integer
Dim wkColumn_Activity As Integer
Dim wkColumn_SCI As Integer
Dim wkColumn_SCO As Integer
Dim wkColumn_FIN As Integer
Dim wkColumn_BUY As Integer
Dim wkColumn_SPM As Integer
Dim wkColumn_QFS As Integer
Dim wkColumn_DMD As Integer
Dim wkColumn_SUP As Integer
Dim wkColumn_SEQ As Integer
Dim wkColumn_IPO As Integer
Dim wkColumn_SOP As Integer
Dim wkColumn_OTH As Integer
Dim wkColumn_SOP_Plus As Integer
ScreenUpdating = False
If parMode = "Y" Then CleanMap
With Application.ActivePresentation
wkFile = Replace(.Path & "\" & .Name, ".pptm", ".xlsx")
End With
Set wkCnx = New ADODB.Connection
With wkCnx
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & wkFile & ";"
.Properties("Extended Properties") = "Excel 12.0 Xml;HDR=NO;IMEX=1;"
.Open
End With
Set wkRS = New ADODB.Recordset
wkSQL = "SELECT * FROM [" & wkSheet & "$] WHERE F1<>'TITLE';"
Set wkRS = wkCnx.Execute(wkSQL)
For i = 0 To wkRS.Fields.Count - 1
Select Case wkRS.Fields(i)
Case "Site"
wkColumn_Site = i
Case "Region"
wkColumn_Region = i
Case "Slide"
wkColumn_Slide = i
Case "Top"
wkColumn_Top = i
Case "Left"
wkColumn_Left = i
Case "X_Board"
wkColumn_XBoard = i
Case "Y_Board"
wkColumn_YBoard = i
Case "X_Site"
wkColumn_XSite = i
Case "Y_Site"
wkColumn_YSite = i
Case "Activity"
wkColumn_Activity = i
Case "D-SCI"
wkColumn_SCI = i
Case "D-SCO"
wkColumn_SCO = i
Case "D-FIN"
wkColumn_FIN = i
Case "D-BUY"
wkColumn_BUY = i
Case "D-SPM"
wkColumn_SPM = i
Case "D-QFS"
wkColumn_QFS = i
Case "D-DMD"
wkColumn_DMD = i
Case "D-SUP"
wkColumn_SUP = i
Case "D-SEQ"
wkColumn_SEQ = i
Case "D-IPO"
wkColumn_IPO = i
Case "D-SOP"
wkColumn_SOP = i
Case "D-OTH"
wkColumn_OTH = i
Case "Self-Assessment Score (%)"
wkColumn_SOP_Plus = i
Case "External Audit Score (%)"
wkColumn_SOP_Plus = i
End Select
Next i
wkRS.MoveNext
Progress.Show vbModeless
Do While Not wkRS.EOF
If IsNull(wkRS.Fields(wkColumn_Site)) Then
wkSite = "site code unknown"
Else
wkSite = wkRS.Fields(wkColumn_Site)
End If
Progress.SiteTxt.Caption = wkSite
wkActif = "Y"
If wkRS.Fields(wkColumn_Slide) = 0 Then
wkActif = "N"
Else
If parMode <> "Y" Then
If UCase(wkRS.Fields(wkColumn_Activity)) <> "Y" Then
wkActif = "N"
Else
For j = ActivePresentation.Slides.Count To 1 Step -1
For i = ActivePresentation.Slides(j).Shapes.Count To 1 Step -1
If (ActivePresentation.Slides(j).Shapes(i).Name Like wkRS.Fields(wkColumn_Site) & "_*") Then
ActivePresentation.Slides(j).Shapes(i).Delete
End If
Next i
Next j
End If
End If
End If
If wkActif = "Y" Then
'S&OP+ board
DrawBoard "Self-Assessment Score (%)", _
wkRS.Fields(wkColumn_Slide), wkRS.Fields(wkColumn_Left), wkRS.Fields(wkColumn_Top), _
wkRS.Fields(wkColumn_Region), wkRS.Fields(wkColumn_Site), _
"Self-Assessment Score (%)", "", "", "", "", "", _
wkRS.Fields(wkColumn_SOP_Plus), "", "", "", "", "", _
wkRS.Fields(wkColumn_XBoard), wkRS.Fields(wkColumn_YBoard), wkRS.Fields(wkColumn_XSite), wkRS.Fields(wkColumn_YSite)
End If
wkRS.MoveNext
Loop
Unload Progress
wkRS.Close
Set wkRS = Nothing
wkCnx.Close
Set wkCnx = Nothing
ScreenUpdating = True
End Sub
Sub DrawBoard(ByVal parProgram As String, _
ByVal parSlide As Integer, _
ByVal parLeft As Single, _
ByVal parTop As Single, _
ByVal parRegion As String, _
ByVal parSite As String, _
ByVal parAreaLogo1 As String, _
ByVal parAreaLogo2 As String, _
ByVal parAreaLogo3 As String, _
ByVal parAreaLogo4 As String, _
ByVal parAreaLogo5 As String, _
ByVal parAreaLogo6 As String, _
ByVal parAreaStatus1 As String, _
ByVal parAreaStatus2 As String, _
ByVal parAreaStatus3 As String, _
ByVal parAreaStatus4 As String, _
ByVal parAreaStatus5 As String, _
ByVal parAreaStatus6 As String, _
ByVal parXBoard As Single, _
ByVal parYBoard As Single, _
ByVal parXSite As Single, _
ByVal parYSite As Single)
'draws the scoreboard of the site
Dim wkColRegion As Long
'functional area frame
If parProgram = "Self-Assessment Score (%)" Then
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo1, parAreaStatus1
Else
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo1, parAreaStatus1
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo2, parAreaStatus2
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo3, parAreaStatus3
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo4, parAreaStatus4
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo5, parAreaStatus5
DrawBoardArea parSlide, parLeft, parTop, parSite, parAreaLogo6, parAreaStatus6
End If
'site frame
wkColRegion = wkRed
If "External Audit Score (%)" < 60 Then
Select Case UCase(parRegion)
Case "EU"
wkColRegion = wkColor_EU
Case "AM", "NA", "LA"
wkColRegion = wkColor_AM
Case "AP"
wkColRegion = wkColor_AP
End Select
ActiveWindow.View.GotoSlide Index:=parSlide
ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeRectangle, parLeft, parTop + 2 * wkHaut, 3 * wkLarg, wkHaut).Select
With ActiveWindow.Selection.ShapeRange
.Name = parSite & "_" & parProgram & "_Site"
.Fill.ForeColor.RGB = wkColRegion
.Fill.BackColor.RGB = wkWhite
.Fill.TwoColorGradient msoGradientVertical, 3
End With
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=0).Select
With ActiveWindow.Selection.ShapeRange.TextFrame
.MarginBottom = 0
.MarginTop = 0
.MarginLeft = 0
.MarginRight = 0
.HorizontalAnchor = msoAnchorCenter
.VerticalAnchor = msoAnchorMiddle
End With
With ActiveWindow.Selection.TextRange
.Text = parSite
With .Font
.Name = "Times New Roman"
.Size = 8
.Bold = msoTrue
End With
End With
'group area frames & site frame
If parProgram = "Self-Assessment Score (%)" Then
ActiveWindow.Selection.SlideRange.Shapes.Range(Array(parSite & "_" & parAreaLogo1, _
parSite & "_" & parProgram & "_Site")).Select
Else
ActiveWindow.Selection.SlideRange.Shapes.Range(Array(parSite & "_" & parAreaLogo1, _
parSite & "_" & parAreaLogo2, _
parSite & "_" & parAreaLogo3, _
parSite & "_" & parAreaLogo4, _
parSite & "_" & parAreaLogo5, _
parSite & "_" & parAreaLogo6, _
parSite & "_" & parProgram & "_Site")).Select
End If
ActiveWindow.Selection.ShapeRange.Group.Select
ActiveWindow.Selection.ShapeRange.Select
ActiveWindow.Selection.ShapeRange.Name = parSite & "_" & parProgram & "_Board"
'line
If (parXSite <> 0) And (parYSite <> 0) Then
ActiveWindow.Selection.SlideRange.Shapes.AddLine(parLeft + parXBoard, parTop + parYBoard, parXSite, parYSite).Select
With ActiveWindow.Selection.ShapeRange
.Line.ForeColor.RGB = wkBlue
.Line.Weight = 1.5
.ZOrder msoSendBackward
.Select
.Name = parSite & "_" & parProgram & "_Line"
End With
End If
DoEvents
End Sub
Sub DrawBoardArea(ByVal parSlide As Integer, _
ByVal parLeft As Single, _
ByVal parTop As Single, _
ByVal parSite As String, _
ByVal parAreaLogo As String, _
ByVal parAreaStatus As String)
'draws the functional area status (text and color)
Dim wkAreaLeft As Single
Dim wkAreaTop As Single
Dim wkCol As Long
Dim wkTxt As String
Dim wkColTxt As Long
Dim wkMonth As String
Dim x As Integer
ActiveWindow.View.GotoSlide Index:=parSlide
Select Case parAreaLogo
Case "SCI", "BUY", "DMD", "IPO", "Self-Assessment Score (%)"
wkAreaLeft = parLeft
Case "SCO", "SPM", "SUP", "SOP"
wkAreaLeft = parLeft + wkLarg
Case "FIN", "QFS", "SEQ", "OTH"
wkAreaLeft = parLeft + 2 * wkLarg
End Select
Select Case parAreaLogo
Case "SCI", "SCO", "FIN", "DMD", "SUP", "SEQ", "Self-Assessment Score (%)"
wkAreaTop = parTop
Case "BUY", "SPM", "QFS", "IPO", "SOP", "OTH"
wkAreaTop = parTop + wkHaut
End Select
If parAreaLogo = "Self-Assessment Score (%)" Then
ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeRectangle, wkAreaLeft, wkAreaTop, 3 * wkLarg, 2 * wkHaut).Select
Else
ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeRectangle, wkAreaLeft, wkAreaTop, wkLarg, wkHaut).Select
End If
ActiveWindow.Selection.ShapeRange.Name = parSite & "_" & parAreaLogo
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1, Length:=0).Select
With ActiveWindow.Selection.ShapeRange.TextFrame
.MarginBottom = 0
.MarginTop = 0
.MarginLeft = 0
.MarginRight = 0
.HorizontalAnchor = msoAnchorCenter
.VerticalAnchor = msoAnchorMiddle
End With
wkTxt = parAreaStatus
wkCol = wkWhite
wkColTxt = wkBlack
If parAreaLogo = "Self-Assessment Score (%)" Then
Select Case UCase(parAreaStatus)
Case "x"
wkCol = wkWhite
Case "TBC"
wkCol = wkRed
wkColTxt = wkWhite
Case "PLANNED"
wkCol = wkYellow
Case "DEPLOYED"
wkCol = wkDeployedCol
wkColTxt = wkWhite
Case "PARTIAL"
wkCol = wkPartialCol
Case "MATURE"
wkCol = wkMatureCol
Case Else
wkCol = wkMatureCol
End Select
wkTxt = UCase(parAreaStatus)
Else
Select Case UCase(parAreaStatus)
Case "N/A"
wkCol = wkWhite
wkTxt = UCase(parAreaStatus)
Case "TBC"
wkCol = wkRed
wkTxt = parAreaLogo
wkColTxt = wkWhite
Case "PLANNED"
wkCol = wkYellow
wkTxt = parAreaLogo
Case Else
If UCase(Left(wkTxt, 1)) = "P" Then
wkCol = wkYellow
wkTxt = LTrim(Mid(wkTxt, 2))
Else
Select Case parAreaLogo
Case "SCI"
wkCol = wkColor_SCI
wkColTxt = wkWhite
Case "SCO"
wkCol = wkColor_SCO
wkColTxt = wkWhite
Case "FIN"
wkCol = wkColor_FIN
Case "BUY"
wkCol = wkColor_BUY
wkColTxt = wkWhite
Case "SPM"
wkCol = wkColor_SPM
Case "QFS"
wkCol = wkColor_QFS
Case "DMD"
wkCol = wkColor_DMD
wkColTxt = wkWhite
Case "SUP"
wkCol = wkColor_SUP
wkColTxt = wkWhite
Case "SEQ"
wkCol = wkColor_SEQ
Case "IPO"
wkCol = wkColor_IPO
wkColTxt = wkWhite
Case "SOP"
wkCol = wkColor_SOP
Case "OTH"
wkCol = wkColor_OTH
End Select
End If
wkMonth = Mid(wkTxt, 7, 2)
If wkMonth = "00" Then
wkTxt = Mid(wkTxt, 1, 4)
Else
wkTxt = Mid(wkTxt, 3, 2) & "/" & Mid(wkTxt, 7, 2)
End If
End Select
End If
ActiveWindow.Selection.ShapeRange.Fill.ForeColor.RGB = wkColTxt
With ActiveWindow.Selection.TextRange
.Text = wkTxt
With .Font
.Name = "Times New Roman"
.Size = 12
.Color = wkColTxt
End With
End With
End Sub
Sub CleanMap()
Dim i As Integer
Dim j As Integer
For j = ActivePresentation.Slides.Count To 1 Step -1
For i = ActivePresentation.Slides(j).Shapes.Count To 1 Step -1
If (ActivePresentation.Slides(j).Shapes(i).Name Like "*_Board") _
Or (ActivePresentation.Slides(j).Shapes(i).Name Like "*_Line") Then
ActivePresentation.Slides(j).Shapes(i).Delete
End If
Next i
Next j
End Sub
Sub LocateIt()
If ActiveWindow.Selection.Type = 0 Then
MsgBox "No shape selected"
Exit Sub
End If
With ActiveWindow.Selection.ShapeRange(1)
MsgBox Int(.Left) & " - " & Int(.Top), vbInformation + vbOKOnly, .Name
End With
End Sub
Sub NameIt()
Dim sResponse As String
If ActiveWindow.Selection.Type = 0 Then
MsgBox "No shape selected"
Exit Sub
End If
With ActiveWindow.Selection.ShapeRange(1)
sResponse = InputBox("Rename this shape to ...", "Rename Shape", .Name)
Select Case sResponse
' blank names not allowed
Case Is = ""
Exit Sub
' no change?
Case Is = .Name
Exit Sub
Case Else
On Error Resume Next
.Name = sResponse
If Err.Number <> 0 Then
MsgBox "Unable to rename this shape"
End If
End Select
End With
End Sub
Sub SetToolBar()
Dim wkToolBar As CommandBar
Dim wkButton As CommandBarButton
Set wkToolBar = CommandBars.Add(Name:="Map", Temporary:=True)
With CommandBars("Map")
.Visible = True
.Left = 100
.Top = 150
End With
Set wkButton = wkToolBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
With wkButton
.Caption = "GenerateMap"
.OnAction = "GenerateMap"
.Style = msoButtonCaption
End With
Set wkButton = wkToolBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
With wkButton
.Caption = "UpdateMap"
.OnAction = "UpdateMap"
.Style = msoButtonCaption
End With
Set wkButton = wkToolBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
With wkButton
.Caption = "CleanMap"
.OnAction = "CleanMap"
.Style = msoButtonCaption
End With
Set wkButton = wkToolBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
With wkButton
.Caption = "LocateIt"
.OnAction = "LocateIt"
.Style = msoButtonCaption
End With
Set wkButton = wkToolBar.Controls.Add(Type:=msoControlButton, Temporary:=True)
With wkButton
.Caption = "NameIt"
.OnAction = "NameIt"
.Style = msoButtonCaption
End With
SlideShowWindows(Index:=1).View.Exit
ActiveWindow.View.GotoSlide Index:=1
End Sub
最佳答案
我已经想通了。更重要的是重命名一些变量等。老话题;也不再从事这个项目。谢谢大家。
另外,很抱歉在开始时错误地发布它。这是我的第一个话题。
关于excel - VB/A : Streaming data from Excel to PowerPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371661/
我正在尝试实现具有以下签名的方法: public static Pair, Stream> flatten(Iterator, Stream>> iterator); 该方法的目标是将每种流类型展平
我有两个流从两个不同的 api 获取。 Stream get monthOutStream => monthOutController.stream; Stream get resultOutStre
Stream.of(int[])返回 Stream ,而 Stream.of(String[])返回 Stream . 为什么这两种方法的行为不同?两者都应该返回 Stream和 Stream或 St
我正在使用 rxdart在 dart 中处理流的包。我被困在处理一个特殊的问题上。 请看一下这个虚拟代码: final userId = BehaviorSubject(); Stream getSt
我到处都找遍了,还是没弄明白。我知道你可以用流建立两个关联: 用于支持数据存储的包装器意味着作为消费者和供应商之间的抽象层 数据随着时间的推移变得可用,而不是一次全部 SIMD 代表单指令,多数据;在
考虑下面的代码: List l=new ArrayList<>(); l.add(23);l.add(45);l.add(90); Stream str=l.stream
我有一个大型主干/requirejs 应用程序,我想迁移到 webpack,最新的“webpack”:“^4.27.1”,但我遇到了一个我无法解决的错误。 我一直在阅读 https://webpack
我正在使用 xmpp 开发聊天应用程序,根据我们的要求,我们有三台服务器 Apache Tomcat 7、ejabbered 2.1.11 和 mysql 5.5, to run xmppbot on
我知道如何使用 Java 库,并且我可以编写一些循环来执行我需要的操作,但问题更多,为什么 scala.collection.JavaConverters 中没有任何内容或scala.collecti
我正在尝试创建一个单一的衬里,它应该计算一个非常长的文本文件中的唯一单词。独特的词例如:márya fëdorovna scarlet-liveried,...所以基本上都是非英语词。 我的问题是我的
如果我有以下情况: StreamWriter MySW = null; try { Stream MyStream = new FileStream("asdf.txt"); MySW =
有人可以帮我将以下语句转换为 Java8: 我有一个像这样的 HashMap : private Map, List>> someMap; 我想在java8中转换以下逻辑: private Strin
有人可以帮我将以下语句转换为 Java8: 我有一个像这样的 HashMap : private Map, List>> someMap; 我想在java8中转换以下逻辑: private Strin
考虑两种测试方法parallel()和sequential(): @Test public void parallel() throws Exception { System.ou
我是 NodeJS 的新手,我基本上想做的是通过 HTTP 将 .pdf 上传到我的服务器。我正在使用 POST rquest 来处理 Content-Type multipart/form-data
哪个更好:MemoryStream.WriteTo(Stream destinationStream) 或 Stream.CopyTo(Stream destinationStream)?? 我正在谈
给定一个 Stream,我想创建一个新的 Stream,其中的元素在它们之间有时间延迟。 我尝试使用 tokio_core::reactor::Timeout 和 Stream 的 and_then
我是 Kafka Streams 和 Spring Cloud Stream 的新手,但在将集成相关代码移动到属性文件方面已经阅读了有关它的好东西,因此开发人员可以主要专注于事物的业务逻辑方面。 这里
源代码看起来非常相似:pump , pipe .为什么我要使用一个而不是另一个?一个只是另一个的更好版本吗? 最佳答案 Stream.pipe 现在显然是自 0.3.x 以来的首选方法,因此尽可能尝试
我正在寻找是否有更好的方法来解决我不得不使用这些签名的困境(注意:由于 Spock 测试,T[][] 是必需的,我提供 T[][] 作为数据提供商) 我的方法签名是: public T[][] cr
我是一名优秀的程序员,十分优秀!