- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Berry 是来自另一个 excel 文件的多个单元格的范围,Melon 是 powerpoint 幻灯片中的表格。我试图通过首先选择 ppt 表上的单元格(3,2)将 Berry 粘贴到 ppt 表中。这样做之后,我想取消选择任何内容。并选择单元格(3.7)。
以下代码成功地将范围粘贴到左上角的 Cell(3,2) 表中。
Berry.Copy
Melon.Table.Cell(3, 2).Shape.Select
Lemon.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
Berry.Copy
Melon.Table.Cell(3, 2).Shape.Select
Lemon.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
Melon.Table.Cell(3, 7).Shape.Select
Sub Auto()
Application.CutCopyMode = False
Dim apple As Workbook
Dim grape As Workbook
Dim orange As Range
Dim Kiwi As Shape 'Shape
Dim Peach As Object
Dim Berry As Range
Dim pear As Range
Dim Lemon As PowerPoint.Application 'PPApp
Dim LemonJuice As PowerPoint.Presentation 'PPpres
Dim Melon As PowerPoint.Shape
Dim LCounter As Integer
Set grape = Workbooks.Open(Filename:="C:\Users\206521654\Documents\Automate vba\try.xlsx")
Set apple = Workbooks.Open(Filename:="C:\Users\206521654\Documents\Automate vba\Monthly Report\Msia\Weekly Channel Ranking Broken Out.xlsx")
Set orange = apple.Sheets("Periods").Range("A5:C25")
orange.Copy
grape.Sheets("Sheet1").Range("B3:D23").PasteSpecial xlPasteValues
grape.Sheets("Sheet1").Range("E3").Formula = "=D3/C3-1"
Set SourceRange = grape.Sheets("Sheet1").Range("E3")
Set fillRange = grape.Sheets("Sheet1").Range("E3:E23")
SourceRange.AutoFill Destination:=fillRange
grape.Sheets("Sheet1").Range("E3:E23").NumberFormat = "0%"
grape.Sheets("Sheet1").Range("B3:E23").Font.Name = "Calibri"
grape.Sheets("Sheet1").Range("B3:E23").Font.Size = "11"
grape.Sheets("Sheet1").Range("C3:D23").NumberFormat = "0.000"
For Each Cell In grape.Sheets("Sheet1").Range("E3:E23")
If Cell.Value < 0 Then
Cell.Font.Color = vbRed
Else:
Cell.Font.Color = vbBlue
End If
Next
Set Berry = grape.Sheets("Sheet1").Range("B3:E23")
Berry.Copy
Set Lemon = New PowerPoint.Application
Set LemonJuice = Lemon.Presentations.Open("C:\Users\206521654\Documents\Automate vba\Automate test.pptx")
Set Melon = LemonJuice.Slides(1).Shapes(8)
Melon.Table.Cell(3, 2).Shape.Select
Lemon.CommandBars.ExecuteMso "PasteExcelTableDestinationTableStyle"
Melon.Table.Cell(7, 2).Shape.Select
End Sub
最佳答案
所以这里有一些示例代码,它获取一个打开的 excel 文档和打开的 powerpoint,并将表格数据从 excel 复制到 powerpoint 中的新表格中。
你 必须 将 powerpoint 引用添加到您的 excel VBA。
在 excel 中的单元格 2,2 和 2,3 中放置一些东西,它应该粘贴到 powerpoint 的新表格中。
注:由于我只是将文档中的一堆代码混合在一起,因此您会获得一些不必要的功能,例如每次都创建一个新表并修改所有表,但我希望这些代码可以作为向您展示如何避免使用的必要基础mso 执行。
Option Explicit
Sub TestCopyData()
Dim sSht As Worksheet
Set sSht = ActiveWorkbook.Sheets("Sheet1")
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
'Open PPT if not running, otherwise select active instance
On Error Resume Next
Set PPApp = GetObject(, "PowerPoint.Application")
On Error GoTo 0
If PPApp Is Nothing Then
'Open PowerPoint
Set PPApp = CreateObject("PowerPoint.Application")
PPApp.Visible = True
End If
PPApp.ActivePresentation.Slides(1).Shapes _
.AddTable NumRows:=3, NumColumns:=4, Left:=10, _
Top:=10, Width:=288, Height:=288
Dim sh As Integer
Dim col As PowerPoint.Column
With PPApp.ActivePresentation.Slides(1)
For sh = 1 To .Shapes.Count
If .Shapes(sh).HasTable Then
For Each col In .Shapes(sh).Table.Columns
Dim cl As PowerPoint.Cell
For Each cl In .Shapes(sh).Table.Rows(2).Cells
cl.Shape.Fill.ForeColor.RGB = RGB(50, 125, 0)
Next cl
.Shapes(sh).Table.Columns(1).Width = 110
.Shapes(sh).Table.Cell(2, 1).Shape.TextFrame.TextRange.Text = sSht.Cells(2, 2)
.Shapes(sh).Table.Cell(2, 2).Shape.TextFrame.TextRange.Text = sSht.Cells(2, 3)
Next col
End If
Next
End With
End Sub
关于excel - CommandBars.ExecuteMso 的使用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406664/
Berry 是来自另一个 excel 文件的多个单元格的范围,Melon 是 powerpoint 幻灯片中的表格。我试图通过首先选择 ppt 表上的单元格(3,2)将 Berry 粘贴到 ppt 表
MS Office 应用程序有一个 incredible API允许执行任何可从 UI 访问但无法从对象模型访问的命令。具体可以用ExecuteMso()执行任何命令按钮、切换按钮或拆分按钮。文档说:
我正在尝试在 Office.js 中以编程方式使用 native 按钮命令。更具体地说,我正在尝试使用预先存在的复制按钮命令,因为 Office.js 仅为任何复制粘贴用途提供 CopyFrom 功能
我尝试在 powerpoint 中使用 vba 将表格从 excel 复制到 powerpoint,然后在 powerpoint 中调整其大小。但是,它会提示错误“Selection(Unknown
我是一名优秀的程序员,十分优秀!