![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
そうですね。
確かに難易度の高いことにチャレンジしようとしています。
参照設定のこととか、まだ次のステップがあったのですが、
あきらめてください。
理由は以下の通りです。
1.環境に左右される
Macや古いバージョンのExcelでは下のコードは動かないと思います。
2.仮にそうではなかったとしても
・Excel,PowerPointのバージョンも最後まで
書き込まない
・Excelのコードは書けるのかを知りたかったので、
Excelでマクロ記録をとれという意味なのに
PowerPointの無駄なマクロ記録を書き込む
など、あなたの現在のスキルでは無理だと思います。
No.4
- 回答日時:
では、Excel2000でも動くコードに修正。
下の手順でテストをしてください。
これが動く環境でないと何も始まりません。
Excelでどこかに「あ」という文字を含む表を作成
→範囲をコピー
→PowerPointで新規作成したファイルに
貼り付け【Excelの表(ブック全体)】
または
形式を選択して貼り付け【Microsoft Excel ワークシートオブジェクト】
→Excel終了
→以下のコードを必ずSub~End Subまで貼り付け
Sub xl_Test()
Dim objExl As Object 'Excelに参照設定していればExcel.Application
Dim myBook As Object 'Excel.Workbook
Dim n As Long
Dim Shp As Shape
ActiveWindow.ViewType = ppViewNormal
With ActivePresentation.Slides
For n = 1 To .Count
ActiveWindow.View.GotoSlide n
For Each Shp In .Item(n).Shapes
With Shp
If .Type = msoEmbeddedOLEObject Then
With .OLEFormat
If Left$(.ProgID, 11) = "Excel.Sheet" Then
.DoVerb (2)
Set myBook = .Object
Set objExl = myBook.Application
objExl.DisplayAlerts = False
With myBook.Worksheets(1).Cells
.Replace What:="あ", _
Replacement:="A"
End With
myBook.Close
objExl.DisplayAlerts = True
objExl.Quit
End If
End With
End If
End With
Next
Next n
End With
Set myBook = Nothing
Set objExl = Nothing
End Sub
教えて頂いた通りにし、コードを入力しましたが、またコンパイルエラーが出てしまいました。
私の環境では実現が難しいのでしょうか?
今回はあきらめることに致します。
何度もお返事いただきましてありがとうございました。
No.3
- 回答日時:
で、新規ファイルにExcelの表を埋め込んで、
No.2のコードを試してみましたか?
それからExcelだけの部分のコードは?
もちろんマクロ記録でもOKです。
以上2つ、お答えください。
No.2
- 回答日時:
最初のconstの2行を忘れました。
NO.1のコードは無視してください。
Sub xl_Test()
Const xlPart = 2
Const xlByRows = 1
Dim objExl As Object 'Excelに参照設定していればExcel.Application
Dim myBook As Object 'Excel.Workbook
Dim n As Long
Dim Shp As Shape
ActiveWindow.ViewType = ppViewNormal
With ActivePresentation.Slides
For n = 1 To .Count
ActiveWindow.View.GotoSlide n
For Each Shp In .Item(n).Shapes
With Shp
If .Type = msoEmbeddedOLEObject Then
With .OLEFormat
If Left$(.ProgID, 11) = "Excel.Sheet" Then
.DoVerb (2)
Set myBook = .Object
Set objExl = myBook.Application
objExl.DisplayAlerts = False
With myBook.Worksheets(1).Cells
.Replace What:="あ", _
Replacement:="A", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
End With
myBook.Close
objExl.DisplayAlerts = True
objExl.Quit
End If
End With
End If
End With
Next
Next n
End With
Set myBook = Nothing
Set objExl = Nothing
End Sub
この回答への補足
返信が遅くなり、申し訳ありません。
No.2を入れ込むとコンパイルエラー End Subが必要ですとメッセージが出ます。
EXCELのコードは記録をしていくと下記のようになります。
・パワーポイントに埋め込まれたエクセルデータを開く
・エクセルのデータを編集
・エクセルを閉じる
・いくつかののページでこれを繰り返す
(コード)
ActiveWindow.Selection.SlideRange.Shapes("Object 15").Select
ActiveWindow.Selection.ShapeRange.OLEFormat.DoVerb Index:=1
ActiveWindow.SmallScroll Down:=1
ActiveWindow.View.GotoSlide Index:=2
ActiveWindow.Selection.SlideRange.Shapes("Object 5").Select
ActiveWindow.Selection.ShapeRange.OLEFormat.DoVerb Index:=1
ActiveWindow.SmallScroll Down:=1
ActiveWindow.View.GotoSlide Index:=3
ActiveWindow.Selection.SlideRange.Shapes("Object 18").Select
ActiveWindow.Selection.ShapeRange.OLEFormat.DoVerb Index:=1
ActiveWindow.SmallScroll Down:=1
ActiveWindow.View.GotoSlide Index:=4
ActiveWindow.Selection.SlideRange.Shapes("Object 84").Select
ActiveWindow.Selection.ShapeRange.OLEFormat.DoVerb Index:=1
No.1
- 回答日時:
Excelの編集内容がわからないと無理です。
置換するのか、*.xlsファイルとして書き出すのか。
下のコードは「あ」を「A」に置換するサンプルです。
Sub xl_Test()
Dim objExl As Object 'Excelに参照設定していればExcel.Application
Dim myBook As Object 'Excel.Workbook
Dim n As Long
Dim Shp As Shape
ActiveWindow.ViewType = ppViewNormal
With ActivePresentation.Slides
For n = 1 To .Count
ActiveWindow.View.GotoSlide n
For Each Shp In .Item(n).Shapes
With Shp
If .Type = msoEmbeddedOLEObject Then
With .OLEFormat
If Left$(.ProgID, 11) = "Excel.Sheet" Then
.DoVerb (2)
Set myBook = .Object
Set objExl = myBook.Application
objExl.DisplayAlerts = False
With myBook.Worksheets(1).Cells
.Replace What:="あ", _
Replacement:="A", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
End With
myBook.Close
objExl.DisplayAlerts = True
objExl.Quit
End If
End With
End If
End With
Next
Next n
End With
Set myBook = Nothing
Set objExl = Nothing
End Sub
この回答への補足
ありがとうございます。
EXCELデータの書き出しです。
EXCELの内容は、先月と今月のデータ更新で、たとえばA列が先月データ、B列が今月データ。
今月データを先月データに移し、今月データを入力出来るように、今月データを空欄にすると言った具合です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- PowerPoint(パワーポイント) パワーポイントで資料を作る時 エクセルで集計したデータなどを貼り付けています。 そうすると パワーポ 3 2023/05/23 09:51
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/04 12:47
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
ExcelVBAにて既に開かれているPowerpointをアクティブにするには?
Excel(エクセル)
-
VBからPowerPointのマクロを実行する方法
Visual Basic(VBA)
-
-
4
なぜマクロの記録がなくなってしまったのでしょうか?
Excel(エクセル)
-
5
エクセルマクロにてパワーポイントのリンク更新をさせたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
昨日まで動いていたエクセルの...
-
excelファイルに使われているVB...
-
VBA マクロ実行時エラー’1004Ra...
-
エクセル終了時の保存確認メッ...
-
excelのマクロ実行でブロックさ...
-
秀丸で保存時のフォルダを固定...
-
VBAを一度起動するとずっと出て...
-
エクセルマクロを有効にしない...
-
Microsoft Excelのファイルのエ...
-
マクロを実行するとパス名が無...
-
エクセル2013vbaで、見えない名...
-
Excelからnotesメールを自動で...
-
「開いているすべてのブック」...
-
エクセルのマクロについて教え...
-
別のパソコンでエクセルのマク...
-
エクセルファイルを自身のファ...
-
【マクロ】マクロが保存されて...
-
複数のpowerpointのファイルを...
-
Excelマクロ ファイル名が変わ...
-
kingsoft office 2010について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
VBAを一度起動するとずっと出て...
-
【マクロ】その時、その時で変...
-
VBA マクロ実行時エラー’1004Ra...
-
昨日まで動いていたエクセルの...
-
マクロの有効化するダイヤログ...
-
別のパソコンでエクセルのマク...
-
コピーしたファイルのマクロを...
-
EXCEL マクロ クリップボードク...
-
excelファイルに使われているVB...
-
エクセルファイルを自身のファ...
-
Excelマクロ ファイル名が変わ...
-
Microsoft Excelのファイルのエ...
-
Excelが勝手にシート移動してし...
-
excelが別プロセスで起動してし...
-
エクセルマクロ実行中に別ファ...
-
エクセル2013vbaで、見えない名...
-
マクロでマクロを削除する
-
アクセスでファイルを開いたと...
-
Excel2010 PERSONAL.xlsbの挙動...
おすすめ情報