添付ファイル閲覧機能(裏技シリーズ)No.07362
"L.davinci" さん 02/05/26 01:31
 
2002/05/26(日)

こんにちはダヴィンチです。
添付ファイル閲覧機能(裏技シリーズ)のマクロをライブラリー登録
致しました。

[ ]
RE:07362 添付ファイル閲覧機能(裏技シリーズ)No.07425
"S.Hiraemon" さん 02/05/28 20:52
 
はじめまして。
便利なマクロをありがとうございます。

本マクロにて正しく閲覧できない場合がありました。
原因を調べたところ添付ファイル名が日本語で2バイト目が
0x5C(¥マーク)であるとき正常にフォルダを開けないようです。

とりあえず「ファイル名の上の階層フォルダを取得」の
while内を以下のように書き換えたところ閲覧できました。

---------------------------
while ( #cnt >= 0 ) {
 $tmpstr = midstr( $Attach_File, #cnt, 1 );
// ↓ここから★
 if (#cnt > 0) {
  #prev = ascii( midstr( $Attach_File, #cnt - 1, 1 ) );
 } else {
  #prev = 0;
 }
 if ( $tmpstr == "\\" && #prev <= 0xFF ) {
// ↑ここまで★
  $Attach_Folder = leftstr( $Attach_File, #cnt );
  break;
 }
 #cnt = #cnt - 1;
}
---------------------------

2バイト文字の検出方法が少しトリッキーですが、
まぁ「裏技シリーズ」に相応しいかと...(^^)

[ ]
RE:07425 添付ファイル閲覧機能(裏技シリーズ)No.07441
davinci さん 02/05/29 12:52
 
ダヴィンチです。
こんにちは、S.Hiraemon様

>はじめまして。
>便利なマクロをありがとうございます。
使っていただけるとは、有難い事です。

>
>本マクロにて正しく閲覧できない場合がありました。
>原因を調べたところ添付ファイル名が日本語で2バイト目が
>0x5C(¥マーク)であるとき正常にフォルダを開けないようです。
やっぱりそんな事がありましたか。不安はあったんですが。
ほっときました。(-_-;)
日本語文字列の処理はできればマクロ側で対応して欲しいところです。

>
>とりあえず「ファイル名の上の階層フォルダを取得」の
>while内を以下のように書き換えたところ閲覧できました。
修正ありがとうございました。

>
>---------------------------
>while ( #cnt >= 0 ) {
> $tmpstr = midstr( $Attach_File, #cnt, 1 );
>// ↓ここから★
> if (#cnt > 0) {
>  #prev = ascii( midstr( $Attach_File, #cnt - 1, 1 ) );
> } else {
>  #prev = 0;
> }
> if ( $tmpstr == "\\" && #prev <= 0xFF ) {
>// ↑ここまで★
>  $Attach_Folder = leftstr( $Attach_File, #cnt );
>  break;
> }
> #cnt = #cnt - 1;
>}
>---------------------------
>
>2バイト文字の検出方法が少しトリッキーですが、
>まぁ「裏技シリーズ」に相応しいかと...(^^)
ありがとうございます。

[ ]
RE:07441 添付ファイル閲覧機能(裏技シリーズ)No.07460
エイト さん 02/05/29 22:41
 
 はじめまして。

 作成していただいたマクロ、利用させてもらっております。
 便利なマクロの提供、ありがとうございました。

 一点質問です。

 当方の環境は文末の通りで、もしかしたらOS等により動作が異なるかも
しれないのですが、当マクロを起動するとエクスプローラのエクスプローラバー
(向かって左に表示される画面)が無く、フォルダ内のファイルだけが表示
された状態になります。
(エクスプローラ起動・表示(V)・エクスプローラバー です)
 当方は、いつもエクスプローラバーでは"フォルダ"(ツリー画面)を
選択し利用しているので、当マクロからも"フォルダ"が表示されるように
していただきたく思っております。

 尚、特に方法等ご存知ないとの事でしたら、当方からマクロ会議室に
質問させていただきます。
 その際は、提供していただいたマクロの一部を引用させていただく
思っております。どうかご了承頂きたく、お願いいたします。

 以上です。
 どうぞ宜しくお願いいたします。


 OS:Win2KSP1
 IE:5.50SP2
 鶴亀:Ver1.95
 秀丸:Ver3.16B5

[ ]
RE:07460 添付ファイル閲覧機能(裏技シリーズ)No.07461
"L.davinci" さん 02/05/29 23:42
 
2002/05/29(水)

こんにちはダヴィンチです。

/*****
エイト様の
【hidesoft.8:07460| RE 07441 添付ファイル閲覧機能(裏技シリーズ)】
2002/05/29
*****/

> 作成していただいたマクロ、利用させてもらっております。
> 便利なマクロの提供、ありがとうございました。
恐縮です。

>
> 一点質問です。
>
> 当方の環境は文末の通りで、もしかしたらOS等により動作が異なるかも
>しれないのですが、当マクロを起動するとエクスプローラのエクスプローラバー
>(向かって左に表示される画面)が無く、フォルダ内のファイルだけが表示
>された状態になります。
>(エクスプローラ起動・表示(V)・エクスプローラバー です)
Windows98の方でも上記のように「ファイルのみ」の表示に
なります。
これはexplorer ファイルパス名 で起動しているからです。
たぶんフォルダーツリーの表示がなくなるのはエクスプローラーの
仕様でしょう。

> 当方は、いつもエクスプローラバーでは"フォルダ"(ツリー画面)を
>選択し利用しているので、当マクロからも"フォルダ"が表示されるように
>していただきたく思っております。
エクスプローラー起動時のオプション指定でフォルダーツリーの
表示ができる気もするのですが・・・今は分かりません。
そちらでエクスプローラーの起動オプションを追加しマクロを
編集していただいても構いません。

またエクスプローラーのメニューバー[表示]−[エクスプローラー バー]−
[フォルダ]を選択すると左側にフォルダーツリーが表示されると
思いますが・・・

[ ]
RE:07460 添付ファイル閲覧機能(裏技シリーズ)No.07463
MAKOPI さん 02/05/30 01:27
 

こんにちは。MAKOPIです。

> 当方の環境は文末の通りで、もしかしたらOS等により動作が異なるかも
>しれないのですが、当マクロを起動するとエクスプローラのエクスプローラバー
>(向かって左に表示される画面)が無く、フォルダ内のファイルだけが表示
>された状態になります。
>(エクスプローラ起動・表示(V)・エクスプローラバー です)
> 当方は、いつもエクスプローラバーでは"フォルダ"(ツリー画面)を
>選択し利用しているので、当マクロからも"フォルダ"が表示されるように
>していただきたく思っております。
> OS:Win2KSP1
> IE:5.50SP2
> 鶴亀:Ver1.95
> 秀丸:Ver3.16B5

差し出がましいようですが、

$comstr = "explorer ";

$comstr = "explorer /e, ";

に変えていただければ、ご希望の動作になるかと思います。

[ ]
RE:07441 添付ファイル閲覧機能(裏技シリーズ)No.07465
アルビレオ さん 02/05/30 04:28
 
アルビレオです。

>>本マクロにて正しく閲覧できない場合がありました。
>>原因を調べたところ添付ファイル名が日本語で2バイト目が
>>0x5C(¥マーク)であるとき正常にフォルダを開けないようです。
>やっぱりそんな事がありましたか。不安はあったんですが。
>ほっときました。(-_-;)
>日本語文字列の処理はできればマクロ側で対応して欲しいところです。

1バイトだけ取り出したい場合もあるので midstr ではこういう動作の方が自然だと
思います。
文字列変数内の特定の文字を探し出したいなら strstr あたりを使った方がいいです。

---------------------------
$Attach_Folder = "";
$Attach_File = dllfuncstr( "CurrentHeader2", "X-Attach", 0 );
// ↓ここから★
#File_len = strlen( $Attach_File );
$tmpstr = $Attach_File;
#cnt = strstr( $tmpstr, "\\" );
if ( #cnt < 0 ) return "@";
while ( #cnt >= 0 ) {
  $Attach_Folder = $Attach_Folder + leftstr( $tmpstr, #cnt + 1 );
  #File_len = #File_len - #cnt - 1;
  $tmpstr = rightstr( $tmpstr, #File_len );
  #cnt = strstr( $tmpstr, "\\" );
}
// ↑ここまで★
return $Attach_Folder;
---------------------------

あまりすっきりしていませんが、文字コードを意識しなくていいのでわかりやすいか
と思います。

[ ]
RE:07463 添付ファイル閲覧機能(裏技シリーズ)No.07468
たけのこ さん 02/05/30 09:13
 
たけのこです。

>差し出がましいようですが、
>
>$comstr = "explorer ";
>↓
>$comstr = "explorer /e, ";

更に差し出がましい&マクロ以外の動作も変えてしまいますが、お好みで、とい
うことで…

1.エクスプローラを起動
2.ツール→フォルダオプション→ファイルの種類
3.登録されているファイルの種類からフォルダを選択
4.編集ボタンをクリック
5.アクション欄でopenが太字になっていると思われるので、これをexploreを選
択して既定ボタンをクリック

これで、マイコンピュータをダブルクリックしようと、スタート→ファイル名を
指定して実行でexplorerを実行しようと、マイドキュメントを参照しようと、多
くのシーンが、デフォルトでエクスプローラ形式になります。

先に書いております通り、お好みでどうぞ。メニュー名などはOSやインストール
されているIEのバージョンで違うと思います。

[ ]
RE:07468 添付ファイル閲覧機能(裏技シリーズ)No.07482
エイト さん 02/05/30 22:21
 
 皆様、たくさん教えていただいてありがとうございました。

 今後も宜しくお願い致します。

[ ]