主要的问题是PowerPoint表格没有适合缩小的选项。 由于我使用Visual Basic来从Excel中填充PowerPoint演示文稿,因此我可以利用Excels的缩小function来适应单元格。 问题是,如果我将信息粘贴到PowerPoint中,它不会使用后缩放以适应字体大小。 我现在select的选项是使用Excels缩小到适合,然后将单元格的图像粘贴到PowerPoint中,但是这会消除以后编辑表格的function。 如果有一种方法可以让文章缩小到适合Excel中的字体大小,那么我可以填充PowerPoint并更改字体大小,但是我只知道如何获取单元格的字体大小(未更新以反映缩小到适合)。 任何可以用来缩小以适应PowerPoint表格的东西都是有帮助的。 编辑:当input的问题,我想到一个可能的解决方法,但它似乎并没有工作。 我试图做一个临时隐藏的文本框,重新调整它的大小相同的单元格,更改为单元格的格式,然后启用此临时TextBox溢出收缩。 问题是当我尝试获取文本大小时,它将返回TextBox的原始默认值。 Function getStringShrinkSize(wid As Double, high As Double, txt As String) As Double Set shpCurShape = ActiveWindow.View.Slide.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, wid, high) shpCurShape.name = "temp1" With shpCurShape .height = high .Width = wid With .TextFrame.TextRange With .Font .Bold = msoTrue .name = "Tahoma" End With End With […]
首先,我的尽职调查收集了大量有关ActiveX文本框的答案,但没有涉及对象文本框。 对于我的项目,我不能使用任何ActiveX。 OK,所以当工作表是不受保护的,一个对象文本框(来自插入>形状)以我想要的方式工作:最重要的是我可以按Enter键并返回一个回车符。 然后,我进入形状属性,并取消locking文本,并保护表。 一旦表格被保护,虽然,回车的能力(inputEnter,然后往下走一行)就会消失。 Shift + Enter和Alt + Enter也不行。 这个function是否可用? 有没有解决办法? 为什么Excel恨我? 以下是我的一些想法: 当文本框被点击/激活时取消保护表单,不保留(不能找出VBA的语法“如果相交…”是我在想什么) 插入Word Doc对象(不要这样,因为一键进入公式栏编辑,我不能让字体留下来) 只需使用合并的单元格并指示用户双击以input并使用Alt + Enter作为新行。 目前获胜的select是使用合并单元格,但我可能只需要看看ActiveX是否可以在我们的networking上运行。 我真的想在这里坚持KISS的原则,如果可能的话,terminal用户…我不介意在后端编码,使其工作,虽然。 谢谢你的想法! 编辑:这是一些图像来帮助… 以下是当我的工作表受到保护时,我想要的function: 接下来,这是显示属性窗口的ActiveX文本框(Developer> Design Mode> Properties)。 当工作表受到保护时,使其有些可用的属性以红圈,多行和回车键行为圈起来。 但是,我更喜欢不必使用ActiveX …另外,用户不能逐行更改字体颜色。 最后,我发现这很有趣:在“表单控件”下面还有一个“灰色”的文本框。 从search,它看起来像是拿走了文本框的绘图对象版本…或者也许是相同的? 左边是绘图对象一个,中间是灰色的表单控件,右边是ActiveX。 总之,我只想看看在工作表受到保护时是否有一种方法来获得不受保护的工作表的形状文本框的function。
好吧,所以我已经设法写下面的代码到目前为止,但我一直得到一个424 object required错误,以range开始的行。 谁能告诉我如何解决这个问题? Sub GetText() Set PPApp = GetObject(, "PowerPoint.Application") i = 1 Do While i <= PPApp.ActivePresentation.Slides(1).Shapes.Count If PPApp.ActivePresentation.Slides(1).Shapes(i).Type = msoTextBox Then range(Cells(i, 15)).Value = PApp.ActivePresentation.Slides(1).Shapes(i).TextFrame.TextRange.Text End If i = i + 1 Loop End Sub
我想从一个文件夹中遍历所有的ppt,并删除任何幻灯片中的任何文本框中find的string。 我是新来的幻灯片工作,因此需要一些技巧和build议如何使用它。 Option Compare Text Option Explicit Sub Test() Dim Sld As Slide, Shp As Shape Dim strFileName As String Dim strFolderName As String Dim PP As Presentation Dim strf As String 'String to be deleted. strf = InputBox("Enter the string.", "Delete String from PPT.", "AAAAA") 'Opens a PowerPoint Document from Excel Dim objPPT As […]
Sub CopyRandomRows() Windows("sample rnd.xlsm").Activate Rows("1:1").Select Selection.Copy Application.CutCopyMode = False Selection.Copy Windows("rnd sample draft.xlsm").Activate Sheets("Random Sample").Select Rows("1:1").Select ActiveSheet.Paste Dim source As Range, target As Range, randCount&, data(), value, r&, rr&, c& Set source = Workbooks("sample rnd.xlsm").Worksheets("Sheet1").Range("A2:L5215") Set target = Workbooks("rnd sample draft.xlsm").Worksheets("Random Sample").Range("A2") randCount = 5 data = source.value For r = 1 To randCount rr […]