■
転職した子からメール。
詳細は省くけど、メールニュースの配信を中止したい人とそうでない人を振り分けるたい。方法として、ユーザーのアドレスを送信するボタン付きのHTMLメールを選択したい、というかそれでやりたがっている人がいるのだが、どうだろうか、という内容。
「そーゆうことをしたら、いろんなところでネタになるからおよしなさい」と忠告。
つか、いまどきHTMLメールを送信するというソリューションはどうなんだろうなあ。なんというか、プログラムが組めるようになった藤四郎プログラマがやりたがったり、馬鹿コンサルが勧めるような内容だよなあ。
なにしろ、ユーザーがHTMLメールを表示できるような設定にしていると仮定している点と、JavaScriptをユーザー全員が使用できると仮定している点でダメダメ。
■
ここで紹介するプログラムは無意味のきわみです。
どっちかというと、プログラム自体より、コマンドラインコンパイルの引数にご注目ください。
コマンドラインアプリケーションからファイルオープンダイアログボックスを呼び出すというものです。
本気で無意味だよなあ。
このソースコードを、そのまま、
Option Explicit
Option StrictImports System
Imports System.Windows.FormsPublic Module fuga
Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialogSub Main(ByVal cmdArgs() As String)
OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog
If OpenFileDialog1.ShowDialog() <> DialogResult.Cancel Then
Console.WriteLine(OpenFileDialog1.FileName)
End If
End Sub
End Module
なんてやってもコンパイルできません。
C:\usr\VBDialog>vbc /t:exe vbdialog.vb
ソースコード内で定義している「System.Windows.Forms」を拾ってくることができないからです。
そこで、どの名前空間を使うか、コンパイラに明示的に指示してあげます。
「/reference:」に続く*.dllは「,」で続けますが、見やすいように半角空白を入れると、コンパイルできません。コンパイラは半角空白後の*.dllを新しいスイッチとして認識するからです。
C;\usr\VBDialog>vbc /t:exe /debug+ /reference:System.dll,System.Windows.Forms.dll vbdialog.vb