\\\server\folder\folder\folder\filename.csv
ファイル名のユーザー入力に基づいてにあるファイルを開こうとしています。ファイルは常にcsvファイルになりますが、名前は部門によって異なります。ディレクトリは常に同じですが、Perlが存在するディレクトリではありません。
ファイルを開こうとして問題が発生しました。ディレクトリ用とファイル名用の2つの変数を作成しようとしましたが、開こうとするとエラーがスローされます$directory\\$FileName
。ディレクトリをハードコーディングし、ファイル名を変数にしてopenステートメントを実行しようとしましたが、Perlは変数がファイル名の一部であると見なします(これは理にかなっています)。これも可能ですか?
ファイルを開いた後、ファイル自体を編集するコードを実行し(これは正常に機能します)、ファイルを新しい場所に保存します。この新しい場所はディレクトリと同じですが、別のフォルダレベルを追加してから、同じファイル名を追加したいと思います。「変更前」のファイルの場所と「変更後」のファイルの場所の一種。
print "What is your FULL file name going to be with extension included?";
my $fileInName = <>;
my $@dirpath= '\\\\Server\\Folder1\\Folder2\\Folder3\\Folder4\\Sorted_files\\';
my $Excel = Win32::OLE->GetActiveObject('Excel.Application') ||
Win32::OLE->new('Excel.Application', 'Quit');
my $Book = $Excel->Workbooks->Open($directory $file);
my $Sheet = $Book->Worksheets(1);
$Sheet->Activate();
それが私が今持っているコードです。私も次のことを試しました:
my $@dirpath= '\\\\server\\folder1\\folder2\\folder3\\call_folder4\\Sorted_files\\$fileName';
もちろん、「ファイルが見つかりません」というエラーが表示されました。
パス名全体をハードコーディングすると、ファイルを開くことができますが、ファイル名だけが異なる25の個別のスクリプトは必要ありません。