プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっています。
大量の古い拡張子を一括変換できないかと思考錯誤しています。
フォルダー内には色々な拡張が入っていますので
pptをpptxにdocをdocxのみ書き換えたいのです。
今頃なのですが大量に存在することがわかり困っています。
①ダイアログからフォルダー選択
②フルパス書き出す
③書き出したフルパスをpptだけ拡張子を変える →のはずが「test.zip」はエラーになります。

コードを乗せると
「お客様のリクエストはNTTレゾナントのセキュリティポリシーにより拒否されました。
The Request was rejected by our security policy.」
コードにバグあるからか、拒否されますので画像で添付しています。

拡張子の取得がおかしいのかpptxなどあるとエラーになります。
ボタンで行いたいのですが・・・。
どうかご教授をお願い致します。

「Excel vbaでフォルダー内のppt」の質問画像

質問者からの補足コメント

  • 返信が遅くなりました。
    エラーは自力で解消することができましたが
    サブフォルダーがみることができません。
    用意して頂いた、URLへコードをアップしました。
    宜しくお願い致します

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/09/03 13:55
  • へこむわー

    すみません(^_^;)初めてなので
    https://ideone.com/ZxFVAK#stdin
    これですか?

    No.4の回答に寄せられた補足コメントです。 補足日時:2022/09/03 14:14
  • つらい・・・

    こちらこそ、わざわざUp先まで用意頂きありがとうございます。
    1番、コメントです。動かすと遅かったので後なんとかしなくてはと・・・
    2番、Wordはできなかったのです。
    3番、フォルダ内のサブフォルダ内もあるのですができませんでした。
    こちらこそ、返信が遅くなりすみません。
    このコードはとりあえずエラーはなくしたものですが大量のファイルを変換すると遅く
    手間がかかります。どうしたものかと。。
    ご都合の良い時でかまいません。宜しくお願い致します。

    No.5の回答に寄せられた補足コメントです。 補足日時:2022/09/03 14:44

A 回答 (6件)

サブフォルダも含めて処理するように変えました。


下記URLにアップしました。
https://ideone.com/DKAlx4

拡張子を.pptから.pptxに変えるためには、
「拡張子が.pptのファイルを、パワーポイントに読み込んだ後、
.pptxに名前を変えて保存」
という手順が必要です。
上記の処理を行うと、どうしても遅くなってしまいます。
遅いのは、どうしようもないですね。
    • good
    • 0
この回答へのお礼

ありがとうございます!
できました。
まだまだコードが読めていませんが
FSOは難しくていつも避けていましたが
少し早いように思います。
勉強させて頂きます。
ありがとうございました。

お礼日時:2022/09/04 09:22

アップありがとうございました。


アップ先のURLが参照できました。

現時点で、気になる点がいくつかあります。
1.高速開始、高速終了の文字がありますが、これはコンパイルエラーにならないのでしょうか。
先頭にアポストロヒィがあって
'高速開始
なら、コメントになりますが、コメントではないのでしょうか。

2.拡張子がpptのみ処理し、docは処理をしていないように見えます。
とりあえず、pptのみ処理したいということでしょうか。


3.選択したフォルダ内だけでなく、フォルダ内のサブフォルダ内にも拡張子pptのファイルがあり、そのファイルの拡張子も変えたいということでしょうか。

これから出かけます。
返信は夕方以降になります。
この回答への補足あり
    • good
    • 0

No1です。


>用意して頂いた、URLへコードをアップしました。

アップしたURLを提示してください。
https://ideone.com
ではなく
https://ideone.com/xxxxxx
のようになっているはずです。
xxxxxxの部分は提示していただかないと、こちらではわかりません。
この回答への補足あり
    • good
    • 0

ファイル名の最後が ".ppt" で終わるファイルのみ対象にする


例)
if path_name like "*.ppt" then ...

保存するファイルの形式を明示的に指定する
例)
.SaveAs(file_name, ppSaveAsOpenXMLPresentation)

参考)
https://docs.microsoft.com/ja-jp/office/vba/lang …
https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0

老婆心ながら確認させてください。


こちらで、拡張子が.docのファイル(古いwordのファイル)の拡張子を
.docxに変更し、そのあとで、そのファイルを新しいwordで読み込もうとするとエラーになります。
拡張子を変更しないで、そのファイル(.doc)を新しいwordで読み込むと正常に読み込めます。

念のため確認ですが、拡張子を.docから.docxに変更した後、そのファイルを読み書きすることが正常にできることを確認されたのでしょうか。

pptをpptxに変更する件も同様です。
(こちらのファイルは私はよくわかりませんので試していません)
    • good
    • 0

マクロですが、ideoneの方へアップしていただけませんでしょうか。


画像では、こちらで、動かしてみることができません。

1.下記URLを表示します
https://ideone.com/

2.左下のボタンで言語を選択します。(Textにします)
(添付画像参照)

3."your text gose here"の文字が表示されるので
それを削除します。(添付画像参照)


4.あなたのマクロを、上記3の箇所に貼り付けます。

5.右下のRunのボタンをクリックします。(添付画像参照)


6.以上で終了です。
下記は、以前、私がアップしたサンプルです。
https://ideone.com/F6ukvx
(内容は本件とは関係ありません)

マクロでない部分の画像も再度アップしていただけませんでしょうか。
画像が不鮮明なので、状況がよくわかりません。
「Excel vbaでフォルダー内のppt」の回答画像1
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!