Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
パワポの最近使ったアイテムを取得する方法
投稿日時: 23/11/15 15:49:57
投稿者: ひろと

エクセルVBAではエクセルとワードの最近使ったアイテムをそれぞれ
エクセル:

Application.RecentFiles
または
CreateObject(Class:="Excel.Application").RecentFiles

ワード:
CreateObject(Class:="Word.Application").RecentFiles

で取得できますが、同じようにパワポのを取得する方法はありますでしょうか?
CreateObject(Class:="PowerPoint.Application").RecentFiles

ではエラーとなりました。
パワポのVBE画面でF2→Applicationの項目を見ても.RecentFilesが無いことは確認しています。

回答
投稿日時: 23/11/15 16:58:53
投稿者: Suzu

PowerPoint の VBA を使用し「最近使ったアイテム」を表示する方法自体は 判りかねますが
 
履歴自体は、レジストリ に保存されていますから、そこから取得する事は可能でしょう。
 
 
Officeアプリケーションの「最近使用したファイル」を削除するVBScript
https://www.ka-net.org/blog/?p=12256
 
リンクは削除ですから、レジストリの内容の参照の仕方は参考になるでしょう。
 
ただ、
リンク先のをそのまま実行すると 履歴が消えます。
 
また、レジストリの操作ですから、
テストを行うにしても、レジストリのバックアップを取ってから行う様にしましょう。
(レジストリの操作で間違うと最悪 Windows に不具合が起こる可能性もあります)
 
自信が無いなら、試さずにスルーください。

投稿日時: 23/11/15 18:55:16
投稿者: ひろと

Suzuさん
 
コメントありがとうございます。
 
コメントと参考URLをきっかけにレジストリから「最近使ったアイテム」を取得する方法を調べ、CreateObject("WScript.Shell").RegReadにたどり着き、なんとかやりたいことをやることが出来ました(Office2016の最近使ったアイテム欄は幅が狭く、履歴表示としてはいまいち→シート上に履歴表示+シートダブルクリックイベントでファイルを開く)。
 
大変ありがとうございました。
解決しました。