プログラミング

【VBA】システムのTEMPフォルダに保存する

※はてブより引っ越しました。

Excelを開いたときにWindowsの一時フォルダ(ローカルのTemp)に保存する必要があったため考えてみました。

システムのTempフォルダに保存する

システムの一時保存ファイルはC:\Users\~\Local配下のTempフォルダになります。

Sub templateCopy()
	Dim userID As String
	Dim filename As String
	Dim folderPath As String
	Dim FSO As Object
	Set FSO = CreateObject("Scripting.FileSystemObject")

	userID = Range("A1")
	filename = Range("A2")
	'システムのTempフォルダを取得
	folderPath = FSO.GetSpecialFolder(2) & "\" & userID

	'ユーザーIDのフォルダが存在しなければフォルダを作る
	If Dir(folderPath, vbDirectory) = "" Then
	 MkDir folderPath
	End If

	'別名を付けて保存
	 ThisWorkbook.SaveAs folderPath & "\" & filename
END Sub

まずFileSystemObjectをset。
GetSpecialFolderでシステムのTempフォルダを取得できます。

下記のリンクを参考にGetSpecialFolder(2)を設定。
Office TANAKA - Excel VBA FileSystemObject[GetSpecialFolderメソッド]

保存先のフォルダが存在しないとエラーになるため、フォルダが存在しない場合作成するようにしました。
Dirの第二引数で、フォルダを指定しています。

そしてbookがすでに存在していても上書き保存するためSave asで上書き保存しています。
こうしておくと保存時はダイヤログも表示されません。

終わりに

システムのTempファイルに保存することができました。

次は削除も考えませんと。。。

RECOMMEND

1

新卒で入社したけど『もう仕事を辞めたい』『我慢できない』という方に向けて。新卒入社でカフェのフロアスタッフとしてして働いたけれど、約1年で退職した私からアドバイスです。心がだめになるまで続ける必要なんてありません。

2

女性はライフステージによって休職や転職しなければいけないときがありますよね。
そこでこの記事では女性の転職に有利な資格をまとめてみました。
一生職に困らない、転職に有利な資格とはなにかご覧ください。

3

「今日は会社に行く気がしない・・。」「たまには会社をさぼりたい・・。」なんてことありませんか?本記事では、実際に私の周りで使われていた欠勤理由をご紹介します。今から使える欠勤理由です。本当に仕事に行きたくないときなど活用できると思うので、ぜひ読んでみてください。

-プログラミング

Copyright© Job search info , 2020 All Rights Reserved.