
VBScriptでExcelのグラフを書式保持したままPowerPointに
貼り付けようとしています。
1つのスライドの中に9つShapeがあり、8つ目に貼り付けます。
----------------------------------------------------
set oPpp = CreateObject("PowerPoint.Application")
oPpp.ActivePresentation.slide(1).select
oPpp.ActivePresentation.slide(1).shape.item(8).select
oPpp.ActivePresentation.slide(1).shape.paste
----------------------------------------------------
をしたら図としては上手く貼り付けられたのに
書式を保持しようとしたら
----------------------------------------------------
set oPpp = CreateObject("PowerPoint.Application")
oPpp.ActivePresentation.slide(1).select
oPpp.ActivePresentation.slide(1).shape.item(8).select
oPpp.ActivePresentation.slide(1).shape.pastespecial 0
----------------------------------------------------
エラーが起きました。
書式を保持したままExcelのグラフを保持するコードって
ありませんか?
ご存知の方、教えてください。
No.2ベストアンサー
- 回答日時:
#1です。
サンプル付け忘れましたプロシージャではありません
Dim ptApp As Object, ptPrs As Object, ptSlide As Object
Dim s As Integer
Dim x As Double, y As Double, h As Double, w As Double
Set ptApp = CreateObject("PowerPoint.Application")
ptApp.Visible = True
ptApp.Activate
'"C:\Desktop\XX.pptx" 仮Filepath
Set ptPrs = ptApp.presentations.Open("C:\Desktop\XX.pptx")
Set ptSlide = ptPrs.Slides(1)
ptSlide.Select
'以下該当部分
s = ptSlide.Shapes.Count
Sheet1.ChartObjects(1).Chart.ChartArea.Copy 'Excel Chart
ptApp.CommandBars.ExecuteMso ("PasteExcelChartSourceFormatting")
'ループがないと正しく貼り付けシェイプを認識しない
Do
DoEvents
Loop Until ptSlide.Shapes.Count > s
'貼り付け終了
'以下シェイプ操作
With ptSlide.Shapes(8)
x = .Top
y = .Left
h = .Height
w = .Width
.Delete
End With
With ptSlide.Shapes(ptSlide.Shapes.Count)
.Top = x
.Left = y
.Height = h
.Width = w
End With
ptApp.CommandBars.ReleaseFocus
No.1
- 回答日時:
こんばんは
あまり知識はありませんが、、
>書式を保持したままExcelのグラフを貼り付ける
Excel側のVBAだと出来なかったような記憶があります。
Excelの標準モジュールに書いて実行、PowerPointを開き
インスタンスされたPowerPointVBAを使う、、みたいな事だったかと、、
あまり良く覚えていませんが、
自身で昔作ったものを見つけたので、一応サンプルとして掲示します。
>1つのスライドの中に9つShapeがあり、8つ目に貼り付けます。
既存の8つ目のShapeは削除して代わりに同じ位置同じサイズで貼り付けるで良いでしょうか?
サンプルは、グラフのあるExcel側シートオブジェクトを
オブジェクト名Sheet1としています。グラフインデックスは1です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) Excelの表をメールで指定日時に送る方法を教えてほしい 2 2023/04/07 16:40
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Windows 7 ショートカットキー 応用編 どういうの主に使いますか? 2 2022/12/28 23:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- PowerPoint(パワーポイント) ExcelのグラフをPowerPointに貼り付けした際にデータテーブルの小数点以下を削除したいです 2 2023/02/28 19:46
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
Word VBAでStyle型の変数に空の...
-
テキストボックス中の文字列の...
-
「Columns("A:C")」の列文字を...
-
オブジェクト変数またはWITHブ...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
エクセルのテキストボックスをV...
-
Excel VBAでWordの複数ファイル...
-
MSDEでオートメーションエラー
-
Excel VBA Collection.add で R...
-
上下の位置揃えについて
-
Access VBAとExcel VBAとはどの...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
VBAについてです。 初心者です...
-
DelphiのTListについて
-
エクセルマクロエラー「'Cells'...
-
ExcelのVBAについて(グラフ操作)
-
ユーザ定義型は定義されてません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
VBScriptからDLL参照設定したい
-
エクセルVBAでcode128のバー...
おすすめ情報