掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CSIDL_LOCAL_APPDATAフォルダに保存したファイルがExcelで編集出来ない (ID:148504)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphiの質問から少し外れるのですがUACでやっかいな現象が出ているので教えてください。 プログラムから csv の値を取得する処理自体は正常に動作するのですが 配布用にデータを C:\Users\[ユーザー名]\AppData\Local\[アプリ名] にインストールして データフォルダ名取得として下記のように var s : string; csid,i : Integer; begin; SetLength(s, MAX_PATH); // Pathの最大長分メモリ確保 csid := CSIDL_LOCAL_APPDATA; // ローカルユーザーフォルダの取得を指定 SHGetFolderPath(0, csid or // フォルダ名の取得 CSIDL_FLAG_CREATE,0,0,PChar(s)); i := Pos(#$0,s); // ヌルの位置を取得 SetLength(s,i-1); // 文字列長を実際の長さに合わせる これでインストールした csvを読むことまでは正常に動作します。 ですがこの csvをExcelで開いて修正するとUACの機能が働いているのか編集出来ません。 1.内容を修正する プログラムからは修正前の状態が取得される 更新日時に変化無し 2.別のドライブで作ったファイルを上書き 更新日時はコピー元に更新される プログラムからは修正前の状態が取得される 3.ファイル名を削除する プログラムからはファイルが無いと認識される 4.管理者権限で実行する 変化無し Excelの名前を付けて保存で表示されるフォルダ内の状態と エクスプローラーで表示されるC:\Users\[ユーザー名]\AppData\Local\[アプリ名] が不一致になります。 メモ帳で開く分は問題無いのですが原因がなにか考えられますでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.