フォルダ内にあるエクセルをPDF変換

投稿者:ビター 投稿日:2024/10/18(Fri) 12:21:12 No.40

この度、はじめてプロデルを触り始めました。
初心者すぎて恐縮ですが、ブログを一通り読んでも分からなかったので投稿いたします。

作りたいのは、ボタンを押すとフォルダ選択に入り、選んだフォルダ内にあるエクセルデータ(xls、xlsx)を、元のエクセルデータと同じファイル名でPDF保存する、といったものです。
下記のように作成しました。

-------------
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
  終わり
  初期化する手順
    この実質大きさは{428,394}
    この内容は「エクセル変換」
    初期化開始する
    エクセル変換ボタンというボタンを作る
      その位置と大きさは{28,348,112,34}
      その内容は「エクセル変換」
      その移動順は1
    初期化終了する
    この設計スケール比率は{144,144}

    エクセル変換ボタンがクリックされた時の手順
      開く画面のフィルタは「エクセルファイル|*.xls*」
      全ファイル一覧のすべてのパスについてそれぞれ繰り返す
        保存名はファイル名
        エクセルを起動する
        エクセルを「[保存名].pdf」へPDFで保存する
    終わり
-------------

このようにしたのですが、どうにも動きません...
基礎的な部分で間違っているのだと思いますが、
アドバイスを頂けると大変助かります。よろしくお願いします。

Re: フォルダ内にあるエクセルをPDF変換

投稿者:アーク 投稿日:2024/10/18(Fri) 17:01:11 No.41

ビター さん、こんにちは。アークです。

動かない理由は幾つか在るのですが、
先ずは全体として「種類」とか「手順」や「繰り返し」を書いたら、
「終わり」や「繰り返し終わり」で必ず閉じましょう。

次にそれらしい日本語を書いたらプロデルが勝手に解釈してくれると思うのは間違いです。
プロデルはAIでは無いので用意されている文言でないと解釈されません。

ここで行き成り正解を書く事がビター さんの理解に繋がるとは思えないので、
先ずは下記を読んで分からない処が有ったら遠慮なく聞いてください。

メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
  終わり
  初期化する手順
    ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
    初期化開始する
    この実質大きさは{285,263}
    この内容は「エクセル変換」
    この文字色は「標準の文字」
    この間隔は{2,2,2,2}
    エクセル変換ボタンというボタンを作る
      その位置と大きさは{19,232,75,23}
      その内容は「エクセル変換」
      その移動順は1
      その文字色は「標準の文字」
      その間隔は{2,2,2,2}
    初期化終了する
  終わり

  エクセル変換ボタンがクリックされた時の手順
    開く画面のフィルタは「エクセルファイル|*.xls*」
    開く画面の複数選択を○に変える
    開く画面を表示する
    もし開く画面のキャンセルなら手順を抜ける
    ファイル名一覧は、開く画面のファイル名一覧
    ファイル名一覧をファイル名にそれぞれ繰り返す
      ファイル名を報告する
    繰り返し終わり
  終わり
終わり

Re^2: フォルダ内にあるエクセルをPDF変換

投稿者:ビター 投稿日:2024/10/19(Sat) 08:43:59 No.42

アーク さん

ありがとうございます。
なるほど、各ブロックごとに終わりを入れないといけないのですね。
また、参考例をありがとうございます。
かなりの部分を間違っていたのですね…。勉強になります。

まず、ファイル名を抽出して変数化…ということになるのだと思い、早速チャレンジしてみましたが、【変数】に処理結果を代入する、という部分が分からずいきなりつまづいてしまいました。

---------------
  エクセル変換ボタンがクリックされた時の手順
    開く画面のフィルタは「エクセルファイル|*.xls*」
    開く画面の複数選択を○に変える
    開く画面を表示する
    もし開く画面のキャンセルなら手順を抜ける
    ファイル名一覧は、開く画面のファイル名一覧
    ファイル名一覧をファイル名にそれぞれ繰り返す
      【保存名】はファイル名のファイル名だけ
      【保存名】から「」へ拡張子を置き換える
      【保存名】を報告する
    繰り返し終わり
  終わり
----------------

変数に対して、固定値ではなく何らかの処理結果をしたものを代入する、という書式例が公式で見つからず。
探しきれていないのだと思いますが、別の書式があるのでしょうか。
すみません。よろしくお願いします。

Re^3: フォルダ内にあるエクセルをPDF変換

投稿者:アーク 投稿日:2024/10/19(Sat) 09:35:42 No.43

ビター さん

デザイナ上で赤や黒一色の行は解釈されていないと思って下さい。
一応、下記のようにすれば解釈されます。

  保存名は、ファイル名のファイル名だけ
  保存名から「」へ拡張子を置き換える
  保存名を報告する

只、この書き方で拡張子は変更できません。
また、ファイルを保存する時はフルパスで指定します。

「エクセル変換ボタンがクリックされた時の手順」を下記に差し替えると、
希望する動作が得られる筈です。

  エクセル変換ボタンがクリックされた時の手順
    開く画面のフィルタは「エクセルファイル|*.xls*」
    開く画面の複数選択を○に変える
    開く画面を表示する
    もし開く画面のキャンセルなら手順を抜ける
    ファイル一覧は、開く画面のファイル名一覧
    もしファイル一覧が「{}」なら手順を抜ける
    エクセルを起動する
    ファイル一覧をファイルにそれぞれ繰り返す
      フォルダ名は、ファイルのフォルダだけ
      ファイル名は、ファイルのファイル名だけ
      ベース名は、[ファイル名を「.」で区切ったもの](1)
      保存名は、「[フォルダ名][ベース名].pdf」
      ファイルをエクセルで開いてデータとする
      データを保存名へPDFで 保存
      データを閉じる
    繰り返し終わり
    エクセルを終了する
  終わり

分からない箇所は遠慮なく質問して下さい。

Re^4: フォルダ内にあるエクセルをPDF変換

投稿者:ビター 投稿日:2024/10/20(Sun) 09:56:08 No.44

アーク さん

ありがとうございます!無事に動作できました!
結局、全部教えてもらうような形になってしまい、申し訳ありません。

さらに教えていただいたものから改良して
「ワード変換ボタン、パワーポイント変換ボタン」を追記し、
エクセル、ワード、パワーポイントの3つを変換できるように改良できました。
無事に全部動いたときは嬉しくて何だか感動しました。

とても面白くなったので、勉強していきます!

▲ページの先頭へ

- WebForum -