2016-12-09 5 views
1

上のフォルダを作成している私は、このVBAを持っている:はなぜVBAがActiveWorkbook.SaveAs

ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls" 
ActiveWorkbook.Close 

これは、提供パスとファイル名に、現在アクティブなブックまたはワークシートを保存することになっています。エクステンション ".xls"は、エクスポートされたファイルがExcel 97-2003ワークブックになるように使用されます。

ワークブックまたはワークシートは保存されますが、フォルダが含まれています。たとえば、ファイル名が「Master.xls」で、ActiveWorkbook.SaveAsが動作しているとします.VBAには、Webファイルとして保存されているかのように、「Master_files」という名前のフォルダが横に表示されているようです。どうすればこの機能を無効にできますか?

このシートはオンラインデータベースからのもので、レコードをExcelシートにエクスポートするリンクをクリックするとダウンロードされず、WebからExcelアプリケーションに直接開きます。これが私がこれを作成した理由ですSaveAsコード。

+1

'Path'を変数として宣言しましたか、' ThisWorkbook.Path'を使用していますか? – Comintern

+1

パス名とファイル名の間にパスを区切りますか? –

答えて

3

は、私はあなたが明示形式を指定する必要があると考えている:

ActiveWorkbook.SaveAs Filename:=Path & Filename & ".xls", FileFormat:=xlExcel8 

そうでない場合、それはあなたがウェブからそれを得たので(と思う)、_filesとともに、HTMLとして保存されます。 MSDNは言う:既存のファイルの場合

、デフォルトの形式は、最後のファイルフォーマットである私は推測してい

があなたの状況にHTMLで指定されました。

xlExcel8は、Ron de Bruin's referenceにつき.xls個のファイルに使用する定数です。

+1

ああ、そこに行きます。私は利用可能な定数をチェックしましたが、xlExcel8を使用するように指示していない場合は、「Excel 97-2003 Workbook」と言わずにどちらを使用するのかわかりません:D – jay

関連する問題