ぴよこさん、こんばんは。
呼び出しエラーということは、呼び出しているファイルが存在しないとか、ファイルが壊れているとかが考えられますよね。
まずは呼び出したファイルが存在しているか調べてみましょう。
dirlist 検索, dir_mydoc + "\\*.lnk"
mes 検索
if 検索="" : stop
exist dir_mydoc + "\\" + 検索 // ファイルのサイズを調べる
mes strsize // ファイルのサイズを出力
stop
どうでしょうか。恐らく-1が出力されたのではないかと思います。
-1ということは、指定したファイルが存在しないということです。
でもdirlistで検索したのだから、存在はするはずですよね。
この問題の答えは、変数「検索」の中身を調べるとわかります。
mesbox命令やデバッグウィンドウを使って調べてみてください。変数に空行が含まれているはずです。
ファイル名に改行が含まれていたので、先ほどのexist命令で-1(ファイルが存在しない)が帰ってきたというのが答えだと思います。
よって、この改行を取り除けば正しく呼び出されるはずです。
notegetを使うのが一番簡単だと思いますので、notegetを使ったサンプルを載せておきます。
chdir dir_mydoc
dirlist 検索,"*.lnk"
mes 検索
if 検索 = "" : stop
notesel 検索
repeat notemax
noteget filename, cnt // 変数「検索」内のcnt行目を変数「filename」に取り出す
mes "ファイル名:" + filename
exist filename
mes strsize
if strsize > 0 : exec filename, 16
loop
stop
各命令の使い方もそうですが、エラー内容から原因を探る方法やその考え方を参考にしていただけれると思います。