日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2022-06-16 16:55:12

Re①:「ファイルを取り込む」のプログラムについて教えていただけませんでしょうか?

雪乃☆雫 さん

まず、質問3から。
試しにやってみたら、拡張子はtxtでも何でも大丈夫でした。
もちろん中身はちゃんとなでしこのプログラムになっていないといけません。

次に質問2ですが、もし取り込まれる側のファイルに、
#-----------------------------------------------
「{デスクトップ}\Aフォルダ\Aファイル.xlsx」をエクセル開く
#-----------------------------------------------
 があったら、ボタンとか関係なく、プログラム実行と同時にAファイル.xlsxが開いちゃいますよ。

http://nadesi.com/man/index.php?%e5%8f%96%e3%82%8a%e8%be%bc%e3%82%80

 「取り込む命令は、プログラムの実行に先立って評価されます。取り込みにより評価されたプログラムは、すぐに実行されます。」
と、書かれているとうりです。
 ですから、関数の形で記載しておいて、必要に応じて呼び出して使うことが多いのです。

 で・・・
 実際のところ何がしたいのかというと、タブン、PCによってファイルのありかが違うので、いちいちプログラムを書き換えなくても出来るようにしたいんですよね?
 そうゆう時のための変数(または定数)で、将来的に変わる可能性のあるファイル名やパス名は、極力プログラム中に直接書かず、プログラム冒頭に宣言しておくといいんですよ☆
 で、冒頭と言わず設定ファイルのように外部に出したいんですよね?
 「.nako」ファイルはうっかりダブルクリックするとプログラムが走ってしまうから、テキストとしてエディタで開きたいとかそんなところでしょうか。

 であれば、設定ファイル側では開きたいファイルのパスとファイル名だけ宣言しておけばよさそげです。
 こんなかんじ?
#-----------------------------------------------
#設定ファイル(設定.txt)
!ファイルA=「{デスクトップ}\Aフォルダ\Aファイル.xlsx」
!ファイルB=「{デスクトップ}\Bフォルダ\Bファイル.xlsx」
!ファイルC=「{デスクトップ}\Cフォルダ\Cファイル.xlsx」
#-----------------------------------------------
 ちなみに、頭に「!」を付けて宣言すると、定数(上書き不可)になります。

 で、設定ファイルを取り込めば、プログラム冒頭に定数宣言を書いたのと同じコトになりますから、ボタンをクリックした時のイベントでは、その定数名を指定して開けばOKです。
#-----------------------------------------------
#メインプログラム
!『設定.txt』を取り込む。
ボタン1を画像ボタンとして作成
ボタン1→クリックした時は~
  母艦は最小化
  エクセル起動
  ファイルAをエクセル開く //→→①
  ファイルBをエクセル開く //→→② 

//中略

ボタン3を画像ボタンとして作成
ボタン3→クリックした時は~
  母艦は最小化
  エクセル起動
  ファイルCをエクセル開く //→→①
  ファイルAをエクセル開く //→→②
#-----------------------------------------------
 もちろん、同じファイルなら同じ定数名でいけます。


(編集パスワード送信)

子記事

親記事 (No.1349)
返信した記事(元) (No.1349)

この内容(No.1350)に返信

この内容(No.1350)をダウンロード

この内容(No.1350)のテキスト表示





www.eznavi.net