我有一個大的宏,它基於excel值生成和填充powerpoint中的表格。我根據特定參數手動調整行的大小,但是我遇到了非常煩人的問題,如果文本會從特定單元溢出,我似乎無法阻止自動調整行的行。我試過使用textframe
和textframe2
「autosize」屬性,但是在第一次調用時出現錯誤,說明指定的值超出範圍。錯誤編號是-2147024809(80070057),雖然我懷疑這將有什麼用處。有沒有辦法來防止這種自動調整超出編寫代碼手動縮短文本溢出時?防止vba生成的PowerPoint表格自動調整行的大小
-1
A
回答
1
RGA,
您的問題的答案是肯定的;你可以這樣做。本主題將在以下主題中討論:Understanding format of tables in PowerPoint (VBA 2010) (resize text to cell)
但是,我不知道這種技術是否仍適用於ppt 2016.我已經實現了此類代碼,然後「升級」到了office 2016;現在它不起作用。
有了這樣說,這爲我的代碼(調整文字,直到它「適合」):
...
Do Until (table.rows(1).height + table.rows(2).height < TABLE_HEIGHT) or (table.Cell(2, 2).Shape.TextFrame.TextRange.Font.size = 1)
If table.Cell(1, 1).Shape.TextFrame.TextRange.Font.size = 1 Then
table.Cell(1, 1).Shape.TextFrame.TextRange.Font.size = 27
table.Cell(2, 2).Shape.TextFrame.TextRange.Font.size = table.Cell(2, 2).Shape.TextFrame.TextRange.Font.size - 1
table.Cell(2, 3).Shape.TextFrame.TextRange.Font.size = table.Cell(2, 2).Shape.TextFrame.TextRange.Font.size
Else
table.Cell(1, 1).Shape.TextFrame.TextRange.Font.size = table.Cell(1, 1).Shape.TextFrame.TextRange.Font.size - 1
End If
Loop
爲了以ppt 2016年恢復了一些功能,我決定把我的代碼重寫限制顯示,以防止「調整大小」表調用行數:
...
table.Cell(1, 1).Shape.TextFrame.TextRange = table.Cell(1, 1).Shape.TextFrame.TextRange.lines(1,2)
table.Cell(2, 2).Shape.TextFrame.TextRange = table.Cell(2,2).Shape.TextFrame.TextRange.lines(1,1)
table.Cell(2, 3).Shape.TextFrame.TextRange = table.Cell(2, 3).Shape.TextFrame.TextRange.lines(1,1)
從理論上講,你可以使用.height; .Textrange;和你的字體的高度來確定你需要的字體大小,以便縮小文本的大小。
0
如果文字太多以致無法放入單元格中,您希望發生什麼? PowerPoint中沒有UI概念來防止基於單元格溢出的行自動調整大小,因爲沒有地方可以通過在PowerPoint中鍵入單元格來演示其他文本。因此沒有API可以做同樣的事情。我會在插入文本之前和之後記錄行,並像您說的一樣逐字截取,直到行高恢復爲原始值。
相關問題
- 1. WPF防止datagrid自動調整窗口大小調整大小
- 2. 防止JList自動調整大小
- 3. 防止表調整大小
- 4. WPF - 自動調整表格的大小
- 5. 防止用戶調整窗口大小/表格大小
- 6. 防止wx.StaticBitmap調整大小
- 7. wx.PasswordEntryDialog防止調整大小
- 8. 防止QDockWidget自動調整大小行爲
- 9. 防止調整大小的文本區域調整整個表的大小
- 10. 如何使用VBA在Lotus中自動調整/調整表格的列大小?
- 11. 防止窗口大小調整行爲
- 12. 防止內容更改時窗口的自動調整大小
- 13. 帶有自動調整大小的表格中的Java表格
- 14. 防止調整大小動畫系統上的行分號
- 15. 調整窗口大小時自動調整TableLayoutPanel行的大小
- 16. 可調整大小的自動完成
- 17. 防止在PDF中調整表格大小
- 18. 如何在PowerPoint中自動調整TextRange中的文本大小
- 19. 如何防止自定義活動設計器中的自動調整大小?
- 20. 防止HTML數據塊自行調整大小?
- 21. 防止ID自動生成
- 22. 防止自動調整大小的TableLayoutPanel行在內容不可見時崩潰
- 23. 停止在軸自動調整大小
- 24. 防止在瀏覽器上調整圖片大小(移動)調整大小
- 25. Datagridview的行自動調整大小
- 26. 自動調整圖表的大小 - AngularChartJS
- 27. 自動調整表格中的單元格大小
- 28. 防止Excel中的單元格大小調整
- 29. NSLayoutConstraint防止NSWindow調整大小
- 30. 防止WPF Datagrid列調整大小
老實說,我很久以前就問過這個問題,甚至不記得它提到的是什麼程序。但是,鑑於您是一位新用戶並給出了一個非常全面的答案,我會接受它作爲解決方案,因爲我懷疑它可以解決我所遇到的問題。歡迎來到社區! – RGA