1. Entersoft Password Managerの自動ログインについて(Ver2.2までの仕様)
Password Managerの自動ログインは、まずIEを起動しDocumentオブジェクトのFormsを取得し、
さらに先頭にあるFormのelements(フォームの内容・コンポーネント)を取得し、テキスト又は、
パスワード入力コンポーネントであった場合にアイテムを先頭から順次設定しています。
したがって、ID・パスワードの入力コンポーネントの前に別のFormやelementがあった場合は
正しく動作しません。そのため、自動ログインの設定にユーザー設定を設けています。
For j = 0 To lobjIE.Document.Forms.length - 1
Set lobjForm = lobjIE.Document.Forms(j)
Do While lobjIE.Busy
DoEvents
Loop
For i = 0 To lobjForm.length - 1
Set lobjInput = lobjForm.elements(i)
If lobjInput.Type = "text" Or lobjInput.Type = "password" Then
lobjForm.elements(i).Value = lstrInputString(lintSetCount)
lintSetCount = lintSetCount + 1
If lintSetCount >= lintMaxSetCount Then
lobjForm.submit
Exit For
End If
End If
Next i
Next j
参考リンク
→
Windows Scripting Host Laboratory
→
WEB for beginner 作成支援 → JavaScript入門 → オブジェクトリファレンス
2. Visual Basic 2005 Express Editionで作成したソフトの配布
Visual Basic 2005 Express Editionにて作成したソフトはClickOnceにて配布します。
配布ファイルの中にはFrameworkは含まれていませんが、.NET Framework2.0がインストールされていない
環境に対して、インストール時にFrameworkをダウンロードしてインストールしてくれます。
(ランタイム(Framework)を含まないため配布ファイルがVB6よりも軽くなっています)
また、作成したソフトウェアがバージョンアップして再度インストールするときに、
今までのバージョンをアンインストールせずに上書きでインストールが可能で、「コントロールパネル」の
「プログラムの追加と削除」から以前のバージョンに戻すことも可能(DLLも戻る)です。
(Desktop Calendarで悩んだDLLヘルがFinance Viewer では心配がなくなりました。)
参考リンク
→
@IT VB6開発者が待ち望んだVB2005の便利機能 5.アプリケーションの配布
3. HashtableはAddした順番を保持してくれません
HashtableはFor each等で全行取り出してみるとAddした順番で取得できません。
Hashtableと同等の動作で順番を保持したい場合はSystem.Collections.Specialized.NameValueCollectionを
使用するようにしています。(状況によりますが・・)
注意点としてHashtableはkeyがobject型でしたがString型になります。
参考リンク
→
川俣晶の縁側→ソフトウェア→技術雑記
4. ListViewコントロールのソート
ListViewコントロールのカラムヘッダをクリックしてソートする機能はIComparerインターフェースを実装した
クラスを定義しソート処理を実装しなければならないようです。
参考リンク
→MSDN →
ListViewItemSorterプロパティ
→
UZ GALAXY → .NET → Info Archive開発 → 10 リストビューのソート
→
DOBON.NET → プログラミング道 → .NET Tips → その他のTips
→
コレクションや配列の要素を方法を指定して並び替え(または検索)を行う