桜庭も阪神も負けた

 Accessを使ってコモンダイアログボックスを表示させる方法がわかった。

 AccessのVBAから、Windows APIを呼び出す方法がその一つ。でも、これだとソースが無駄に長くなるから、美しくない。
 ネットで検索したら、面白い方法が出てきた。Windows APIではなくて、Excelを呼び出すのだ。もちろん画面表示はfalseにして、Excelが呼び出されていることはあくまでも隠しておく。んで、ExcelのGetSaveAsFileName関数を呼び、ファイルネームを手に入れたら、闇から闇にExcelをQuitさせる。後にFilenameだけが残る。これだとソースが短くて済む。こういう方法を探していたのだ。
 正確には,FileOpenのダイアログしか例がなかったが、30分ほど悪戦苦闘したらSaveの方も見つけた。誰か使う人のために、下に例を書いておきます。

 Sub test()

  Dim FileName As String ‘ファイル名受け取り用
  Dim xlApp As Object ‘Excel参照用

  ’エクセルオブジェクトを作成
  Set xlApp = CreateObject(“Excel.Application”)

  xlApp.Visible = False ‘小細工で見えなくする

  FileName = xlApp.GetSaveAsFilename(“TeXOut”, fileFilter:=”Bib ファイル (*.bib), *.bib”) ’これがミソ。最初の”TeXOut”はデフォルト出力ファイル名だから、自由に変えてください。次の引数はフィルターね。

  xlApp.Quit ‘アプリを終了
  Set xlApp = Nothing

  ’確認で選択されたファイル名を表示
  MsgBox “FileName = ” & FileName

 End Sub

 さて、これでデータベースの方は半分ぐらい問題解決。残りの問題はまたゆっくりやろう。
 それよりも、今日も自分のもってる資料を検索するのに半時間ぐらいかかった。あれー、あるはずだけどな、コピーしたハズなんだけどな・・・と思いながら、資料集を探しまくる。結局「ここには入れてないだろう」というところからコピーが出てきた。しかも二部。
 妻が私の専属秘書になったら、この手の論文・書類・書籍の類を一括管理して欲しい。つくったデータベースも利用しつつ。

 昼寝したときに、指の爪をはぐ手術をする夢を見た。痛いというより気持ち悪い感じがして目が覚めた。うえー。

 暇な時間に、中古車を探す。Fitを100万以下で見つけるのはほぼ無理だな。今日マーチの掘り出し物があるという情報も手に入った。でも、新型マーチはなんだか丸くてすきになれない。数年前の型だが、マーチボレロという車種はカワイイ。これを専門に集めているようなディーラーがあるので、今度見に行きたいなぁ。
 結局ヴィッツかマーチぐらいで落ち着くんだろうか。価格帯だけ考えれば、型オチのシビックなんかも視野に入ってくるんだが。