Outlookの添付ファイルを直接開いた際の動No.08212
江袋 さん 14/02/13 17:37
 
V8.40β4(64bit版)をWin 8(64bit)で使用しています。

Outloook 2013で.txtの添付ファイルを直接開きますと、
フォント種別やサイズなどが設定と違った状態で開かれます。
(秀丸メールでは、設定値で問題なく開きます)

Outlookで開くと「上書き禁止」なのですが、その影響でしょうか。

実害はありませんが、見た目がいまいちなので、
解決のヒントがあれば助かります。

[ ]
RE:08212 Outlookの添付ファイルを直接開No.08213
秀丸担当 さん 14/02/14 10:46
 

バグ情報ありがとうございます。
Outloook 2013で確認してみたところ、確かにそうなっていることが確認できま
した。
ファイルのパスが、以下のような場所になっていました。

 C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\INetCache\Content.Ou
tlook\XXXXXXXX\添付ファイル.txt

通常、ファイルの拡張子からファイルの種類を認識しますが、IEのキャッシュだ
けは特別扱いしています。
たとえば、うちのホームページをIEの「ソースの表示」をした場合、以下のよう
な場所に一時ファイルが作成され、それを開きます。

 C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\INetCache\Low\IE\YYY
YYYYY\hide.maruo.co[1]

このIEのキャッシュはファイル名が不定で、この例では拡張子に相当する部分は、
「HTML」ではなく、たまたま「co[1]」となりました。
いろいろな条件でキャッシュ配下のパスやファイル名は変化するようです。
それを避けるため、秀丸エディタは、

 C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\INetCache

の配下のファイルは、拡張子を不定なものとしないように、自動的にHTMLとして
解釈するようになっています。
フォントが違って見えるのは、HTMLの設定のフォントが使われているためだと思
います。

Outlook 2013も同じ場所を使っているようで、ご連絡いただいて不都合が起きて
いることがわかりました。
INetCache以下に続くパスはIEだと固定というわけではないようで、確実な解決
策が見つからないですが、とりあえずわかっている範囲として
「Content.Outlook」は除外するような対策をさせていただきます。

現状では、お手数ですがやはりいったん添付ファイルを保存していただくしかな
いです。
無理矢理なんとかするとしたら、以下のようなマクロを作って実行するか、自動
起動マクロの「ファイルを開いた直後」に登録しておくとなんとかなりました。

if(filetype==".html"){
  $oecache=tolower(
    getenv("LOCALAPPDATA")+
    "\\Microsoft\\Windows\\INetCache\\Content.Outlook");
  if(strstr(filename,$oecache)==0){
    changename getenv("TEMP")+"\\"+basename;
    configset "";
    clearupdated;
  }
}

[ ]
RE:08213 Outlookの添付ファイルを直接開No.08214
江袋 さん 14/02/14 16:23
 
調査、ならびにマクロのご提示ありがとうございます。

原因も分かりましたし、

>現状では、お手数ですがやはりいったん添付ファイルを保存していただくしかな
>いです。

で凌いでいこうと思います。

[ ]
RE:08213 Outlookの添付ファイルを直接開No.08221
江袋 さん 14/02/21 12:23
 
>Outlook 2013の添付ファイルを直接開いた場合にHTMLの設定になってしまう問題の
>対策。

β6で試したところ、残念ながら同じ現象が発生しました。

ちなみに、添付ファイルのパスを確認したところ、
D:\Temp\Temporary Internet Files\Content.Outlook\ORF4IYME
となっています。

> C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\INetCache\Content.O
>utlook\XXXXXXXX\添付ファイル.txt

と違っていることが原因でしょうか!?

[ ]
RE:08221 Outlookの添付ファイルを直接開No.08222
秀丸担当 さん 14/02/21 14:17
 

ご確認ありがとうございます。

d:\temp…となるのは、何らかの方法でインターネット一時ファイルの場所を変
更されたのかと思います。

IEを起動して設定からインターネット一時ファイルの場所を同じ場所に変更して
みたところでは、こちらで試してみた限りでは大丈夫でした。

変更されたパスがどのようになっているかを見るには、上級者向けの方法ですが、
レジストリエディタを起動して、
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
Shell Folders
にある「Cache」の値を見る方法があります。

IEの設定から変えた場合は、この値は「D:\temp\Temporary Internet Files」の
ようになりますが、ここを手動で「D:\temp\Temporary Internet Files\」と、
最後に「\」を付けて書き換えたところでは、Outlook2013は「\」の有無に関わ
らず同じように動作ますが、秀丸エディタの今回の修正では判定しきれていませ
んでした。

そういう原因かわかりませんが、最後の「\」も判定できるように修正させてい
ただきます。
ただXPでもWindows8.1でもIEからの通常の操作ではそうはならないようで、違う
原因かもしれず、他に思い当たることがないです。
インターネット一時ファイルを何らかの方法で変更されていたとしたら、その方
法などを教えてもらえると何かわかると思います。

[ ]
RE:08222 Outlookの添付ファイルを直接開No.08223
江袋 さん 14/02/21 14:58
 
インターネット一時ファイルの場所はIEで変更しています。
レジストリも確認しましたが、最後に\は付いてませんでした。

あと関係しているかどうか分かりませんが…

システム環境変数のTEMPとTMPをD:\TEMPとしています。
それ以外に変わったことをした心当たり、ないですね…

[ ]
RE:08223 Outlookの添付ファイルを直接開No.08224
秀丸担当 さん 14/02/21 15:41
 

詳しい情報ありがとうございます。
最後に\は無いということで、条件が絞れて原因がわかりました。
Hidemarnet Explorerを入れているとき、IEのキャッシュファイルを照合して
ローカルファイルではなくURLを表示する機能があるのですが、そこでもHTMLと
判断することがありました。
この場合も大丈夫なように修正させていただきます。

現状では、設定で回避する方法があって、[その他]→[動作環境]→[ファイル]の、
「Hidemarnet Explorerを使う」のところの「詳細(E)...」ボタンの中の「IEの
ソース表示でURLを表示する」をOFFにすると回避できると思います。

[ ]
RE:08224 Outlookの添付ファイルを直接開No.08225
秀丸担当 さん 14/02/21 15:57
 

>現状では、設定で回避する方法があって、[その他]→[動作環境]→[ファイル]の、
>「Hidemarnet Explorerを使う」のところの「詳細(E)...」ボタンの中の「IEの
>ソース表示でURLを表示する」をOFFにすると回避できると思います。

と書いたところでしたが、この判定そのものはHidemarnet Explorerを入れなく
てもある問題でした。
失礼しました。

Hidemarnet Explorerを入れると設定を変えることができたのですが、入れてい
ない場合は設定を変えて回避することはできませんでした。
入れていない場合は回避できないので、その場合はすみませんが次のβ版の修正
で対応ということでお願いします。

[ ]
RE:08225 Outlookの添付ファイルを直接開No.08226
江袋 さん 14/02/21 16:11
 
>入れていない場合は回避できないので、その場合はすみませんが次のβ版の修正
>で対応ということでお願いします。

了解しました。次のβ版をお待ちしております。

[ ]
RE:08226 Outlookの添付ファイルを直接開No.08232
江袋 さん 14/02/27 14:29
 
V8.40β7で本不具合が解消されていることを確認しました。

ご対応ありがとうございました。

[ ]