― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2008年4月21日(月) 12:48 
オフライン

登録日時: 2008年4月21日(月) 11:58
記事: 2
hataです。
初めて投稿させていただきます。

Excel VBAのshell()関数からの利用を想定して、WindowsXPのコマンドプロンプト
で色々と試しております。

(thunderbirdのバージョンは2.0.0.9です)

thunderbird.exe -compose "to=hoge@hoge.jp,attachment=file:///C:/filename.txt"

のようなコマンドラインで添付ファイルの指定が出来ることが確認できました。

しかし、filenameまたはパスが"添付.txt"のように全角文字を含むとうまく添付できません。

(A)添付.txt
(B)%1B$BE%3AIU%1B%28B.txt
(C)%93%59%95%74.txt
(D)=?ISO-2022-JP?B?GyRCRTpJVRsoQi50eHQ=?=

のように表現を色々と変えて試すのですが、
どれも、保存や送信ができません。

下書き保存エラー
一時ファイルC:\を開くことができませんでした。"一時ディレクトリ"の設定を確認してください。

のようなダイアログが表示されます。

(A),(C)は添付アイコンに正しいファイル名が表示され、
(C)のみが右クリックで添付ファイルを開くことはできます。

指定方法(エンコード)やthumderbirdの設定など何か正しく添付する
方法がございましたらご教示いただけましたら助かります。

なお、ASCII文字のみのファイル名では正常に保存や送信ができます。

:(

_________________
hata


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年4月21日(月) 14:41 
オフライン
Administrator

登録日時: 2005年6月23日(木) 23:29
記事: 2743
お住まい: 東京
うーん、たしかに shift_jis でエンコードすると添付はできて開くこともできますが、保存・送信ができませんね...
保存・送信時の Base64 エンコードでコケてるのかなぁという気がします。
当面の回避策としてはやはり ascii の範囲でファイル名をつけるか、zip あたりで圧縮して ascii な名前にして送信、受信側で展開、といったところでしょうか。
もう少し調べてみます。

_________________
[Desktop] Windows 10 Pro 22H2 (64bit) / Intel Core i7-2600 / Nvidia GeForce GTX 1650 GDDR6 / 32 GB Memory
[Laptop] Windows 10 Pro 22H2 (64bit) / Intel Core i5-520M vPro / Intel HD Graphics / 8 GB Memory
[Android] Android 13.0 (arm64) / Xperia 5 III (XQ-BQ42)
常用環境: Firefox ベータ版、リリース版 (Win64 x86-64, Android), Thunderbird ベータ版、リリース版 (Win64 x86-64)
テスト環境: Firefox (ESR, Nightly, Win64 x86-64, Android)

Cai/1.0 (Homo sapiens; N; Homo sapiens chemist; male; rv:0.0.4.2+)
-- いつまでたっても nightly


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2008年4月21日(月) 15:16 
オフライン

登録日時: 2008年4月21日(月) 11:58
記事: 2
hataです。

早速のご確認・返信を戴きありがとうございました。

>ascii の範囲でファイル名をつける

ということは私も考えてみたのですが、

c:\添付\test.txt

のようにファイルのパスに全角文字を
含んでいてもファイルに到達できないみたいなんです。
(同様に作成ウィンドで添付ファイルのアイコンを開くことは可能ですが、
保存などはできません。)

これは「C:\添付」を環境変数に代入して

 set test=C:\添付
 thunderbird.exe -compose "to=hoge@hoge.jp,attachment=file:///%test%/test.txt"

のようにしてもNGですので、一旦環境変数tempディレクトリに
Ascii文字だけの名前のzipファイルを作成して添付後削除する
ような形でも、%temp%が展開された時に全角文字…すなわち
Windowsのアカウント作成でユーザー名に全角文字を使った人
にはうまく逃げられない場合なども危惧しています。

存在するドライブレター(NEC98ではCドライブの存在は確約できない)
を点検してそのルートディレクトリに一時ファイルを作ればできなくも
無いのでしょうが、私がThunderbirdの使い方を充分に理解しきれていない
だけであれば、正しい使い方で実装したいという願いがありました。

※ Excel VBAに組み込んだ時には利用者の環境は不特定であることを
  想定しています。

※ 圧縮dllはExcel VBAから呼び出すように既に実装していますが、
  ファイル名の部分は元ファイルと同じにするような仕様にしていて、
  ランダムな文字列や日付文字列のファイル名を生成させるのも可能では
  ありますが、できれば…。

その他、本当に

 (1)C:\添付.txt
 (2)C:\%93%59%95%74.txt

の2つのファイル(名前が違うだけで中身は同じ)を用意して

 thunderbird.exe -compose "to=hoge@hoge.jp,attachment=file:///C:\%93%59%95%74.txt"

を実行しても保存などはできないようです。(2)はASCIIファイル名なのですが…。
(保存・送信では(2)が使われて、作成ウィンドウで「開く」場合は(1)が使われることを
期待したトリックを仕組んだつもりだったのですが…)

_________________
hata


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 3 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[87人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean