e桐へ

2−2.書き出したファイルを開く



書き出したファイルを自動で開くには・・・

2−1のイベントを、少し修正・追加してみます。

ここで、再度「エクセル書き出し」コマンドを確認します。

エクセル書き出し <EXCELファイル名>, <ワークシート名>, 項目名行=【する|しない】, 上書き=【しない|する】, 開く=【しない|する】, 終了状態=<変数名>

ですね。このなかの、「開く=する」を、指定しておくと、自動で開くことができます。これも、一つの方法です。が、この後に、複数シートの書き出しへ進みます。そのときいちいちエクセルが起動されたら、次のシートを書き出すときエラーになります。

そこで、今回は「開く=しない」にしておき、プログラムで開くようにします。

今回も、「終了状態=<変数名>」に「終了状態=&終了」を、利用します



フォームの作成(コマンドボタンの追加)

書き出し専用コマンドボタンを下図の所に2個追加します

名称 ソース(標題) 目的・機能・役目 手続き名
b書出sheet 書出sheet シート単位で書き出します 書出sheet
b書出book 書出book 桐表(tbl)全部のデータを、シート名別に書き出しします 書出book


コマンドボタンの内容は、
・機能名:手続き実行、パラメータ:(手続き名参照)


 

イベントの内容は(イベントの修正は、前回(2−1)に、少し追加します)

エクセル書きだしコマンドの最後に、「終了状態=&終了」を追加します。
コマンドが実行されたら、その「&終了」の値をしらべます

−−桐v9sp1 ヘルプより−−−−
 終了状態=<変数名> にはコマンドの実行結果が格納される。
  0  : 正常終了
  231 : 上書き=しない を指定して、かつ<ワークシート名> で指定したワークシートが存在する
  233 : EXCEL がすでに起動されている

これにより、

 if(&終了=0)
   ・・・・・ここに、エクセルを起動し、ファイルを開く為の内容を、記入します・・・・
 else if(&終了=231)
   確認 "231:ワークシートが存在する(「上書き=しない」を指定しているとき)。"
 else if(&終了=233)
   確認 "233:Excelがすでに起動されている。"
 else
   確認 #文字列(&終了)+":その他のエラー。"
      * 235:使用できない文字 : ¥ / ? * [ ]
      * 232:パスワード関係?
 end

これにより、「&終了=0」のときだけエクセルファイルが開き、そうでない場合はエラー内容が表示されるようになります

注:桐項目(文字列)を利用してシート名を作成していますので、今回の例ではありませんが、実際自分で作成したファイルでりようした場合は、上記「235:使用できない文字 : ¥ / ? * [ ] 」みたいなエラーが出る場合もあります。(235・232は、私の調査であり桐が返す値ではありません)



さて、「ファイルを開く為の内容」とは

いろいろ方法はあると思います。

  シェル実行 <ファイル名>【, 起動フォルダ=<フォルダ名>】 , 表示=【通常|最大化|最小化】【, <変数名>】
  これは、拡張子により登録されたプログラムでファイルを開く時、おもにもちいる方法です
  >次のコマンドは、MSPaintを最大化して、C:Bitmap\abc.bmpをオープンする。
  > シェル実行 "abc.bmp", 起動ディレクトリ="C:\Bitmap\", 表示=最大化

これでも、いいですね。でも今回はもっと簡単な方法を紹介します。

フォームに「確認」という名前のコマンドボタンがありますね。「&book名」に指定されたファイルを開く役目ですね。
そこで、今回は、イベントでこの「確認」を実行させる方法を紹介します。

実はとても便利な方法があります。それは
  メソッド呼び出し @b確認.実行()
これで、「確認」コマンドボタンを、クリックしたときと同じ結果になります。これは簡単ですね。

イベントをいろいろ書き直さなくても、いいので便利ですね。多いにご利用下さい


前へ上へ次へ