添付ファイルを開いている時のエンコードNo.19857
zoom さん 04/09/12 18:13
 
お世話になります。

私はメール送信時にエンコード後サイズを確認してから
送信するようにしています。
一点気付いたのですがエンコードサイズが0で帰ってくる
事があるようです。

再現方法)
1)エクセルシートを添付ファイルにする
2)エクセルシートダブルクリックしてエクセルで開く
3)エンコードサイズ確認マクロ実行(サイズ0)
※2)でエクセルシートを開いていない時は正しい値が
  帰ってきます。
これは制限なんでしょうか?
それとも私の環境の問題でしょうか?
特に大きな問題ではありませんが、値がおかしかった
ので気付きました。

鶴亀V3.66
WinXP Pro SP1

[ ]
RE:19857 添付ファイルを開いている時のエNo.19858
アルビレオ さん 04/09/12 20:20
 
鶴亀ユーザーのアルビレオです。

>再現方法)
>1)エクセルシートを添付ファイルにする
>2)エクセルシートダブルクリックしてエクセルで開く
>3)エンコードサイズ確認マクロ実行(サイズ0)
>※2)でエクセルシートを開いていない時は正しい値が
>  帰ってきます。
>これは制限なんでしょうか?
>それとも私の環境の問題でしょうか?
>特に大きな問題ではありませんが、値がおかしかった
>ので気付きました。

これは鶴亀の制限ではなく「排他制御」というWindowsの機能です。
エクセルはこの機能を使ってファイルを開いている間は他のアプリケーションか
らのアクセスを禁止しています。
たとえば秀丸エディタでも[動作環境]で[上級者向け設定]をONにして
[ファイル]-[排他制御]-[ファイルの排他制御]を[読み書き禁止]にすると同じこ
とが起こるはずです。

[ ]
RE:19858 添付ファイルを開いている時のエNo.19859
zoom さん 04/09/12 23:48
 
コメントありがとうございます。

コメントの排他制御については多分そういう関係かと思ってました。
ヘルプを見るとエラーの時はサイズ0でなおかつエラー内容は不明と
いう事でしたのでサイズ0の場合はエラー処理を入れるようにします。
試しににそのままメール送信続行すると添付ファイルのアクセスで
エラーとなりました。

とりあえずエンコードサイズ0の場合にはエラー処理を入れる事で
対応しますので特に問題ありません。
(そのままメール送信続行しないように)

以上

[ ]
RE:19859 添付ファイルを開いている時のエNo.19862
秀まるお2 さん 04/09/13 12:30
 
 アルビレオさんのコメントの通りなんですが、エンコードされたサイズを計算
する処理の過程で、実際にエンコードされたメールを内部的に生成することにな
って、その処理の中でエラーになると、サイズ0となってしまうようです。

 マクロ側で対処ということでお願いします。


[ ]