掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
データをコピーする際のディレクトリ記述について(Vista) (ID:139473)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつも聞いているばかりで回答など初めてですがVISTAにはデータがどこかに行ってしまって泣かされましたので。VISTA任せでフォルダーを決めるのではなく僕の場合は下記により最初からフォルダーを決めておいて明示的に指定して保存するようにしました。 Adobeなどは下記のAppDataPath1にAdobeのフォルダーを作っているようです。何かの本でみつけたものですがご参考まで。 Public Const MAX_PATH = 260 ' CSIDLからパスを取得する関数の宣言 Declare Function SHGetFolderPath Lib "ShFolder.dll" _ Alias "SHGetFolderPathA" _ (ByVal hwndOwner As Long, _ ByVal nFolder As Long, _ ByVal hToken As Long, _ ByVal dwFlags As Long, _ ByVal pszPath As String) As Long ' 取り出すパスの種類を指定する定数 Public Const SHGFP_TYPE_CURRENT = 0 Public Const CSIDL_APPDATA = &H1A Public Const CSIDL_LOCAL_APPDATA = &H1C Public AppDataPath1, AppDataPath2 '---------------------------------------- '(例です。不足分は適当に追加してください) Sub GetAppPath() Dim strFolderPath As String * MAX_PATH Dim lngWin32apiResultCode As Long ' フォルダパス1を取得 lngWin32apiResultCode = _ SHGetFolderPath(0, _ CSIDL_APPDATA, _ SHGFP_TYPE_CURRENT, _ 0, _ strFolderPath) ' AppDataPath1 = _ Left(strFolderPath, _ InStr(strFolderPath, _ vbNullChar) - 1) ' フォルダパス2を取得 lngWin32apiResultCode = _ SHGetFolderPath(0, _ CSIDL_LOCAL_APPDATA, _ SHGFP_TYPE_CURRENT, _ 0, _ strFolderPath) ' AppDataPath2 = _ Left(strFolderPath, _ InStr(strFolderPath, _ vbNullChar) - 1) End Sub
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.