調べてみたら、VBAではカレントという概念があまりないようで、基本的に絶対パス指定か、ファイル指定用のダイアログを使ってファイル名を絶対パスでもらうのが本来の考え方のようです。その後、詳しく記載してあるページが見つかり*.xlsファイルのある場所はカレントにはならないことがわかりました。(OSやOfficeのバージョンによっても一概にはいえず、My DocumentsになったりProgram File内のOfficeがインストールされている場所が相対指定の場合カレントになってしまうようです)Excelを起動しておき、そこから「開く」を行って*.xlsファイルを指定してやると、*.xlsファイルのある場所(ダイアログによりファイルを指定しています)がカレントになるようです。
でもこれでは困ります。更に調べると、ありました*.xlsのある場所(パス)を指定する方法が。
fnsave = ThisWorkbook.Path + "\Setting.txt"
numff = FreeFile
Open fnsave For Output As #numff
ThisWorkbook.Pathというのが、*xlsファイルのある場所(パス)示すそうです。これでうまくいきそうです。