私は次の問題の解決策を探していましたが、本当に役立つものは見つかりませんでした。いくつかのcsvへのデータ接続を含むExcelシートがあります。悲しいことに、Excelは接続を絶対パスとして保存します。パスを相対パスとして設定できるのが理想的ですが、最初に使用する前に、ユーザーが接続を更新できるようにするマクロを選択しthisworkbook.path
ます。
プロジェクトはフォルダd:\ projectにあり、Excelシートはd:\ project \ excelにあり、csvはd:\ project\resultsにあります。プロジェクトをzipとして一部のユーザーに送信し、彼がc:\ mydocuments \ projectに解凍した場合、彼は10程度のcsvを再接続する必要があります。
私の一般的な考え方は、次の行に沿ってマクロを作成することです(vbaを初めて使用するため、実際のコードはありません。コードを知っていれば、質問する必要はありません)。
filepath = thisworkbook.path
cons = thisworkbook.connections
for each cons
filename = cons.filename
newpath = filepath & filename
end for