VB .Net

VB .Netによる階層型(入れ子)XMLファイルの読み込み

これもまた様々な方法がありますが、私はこの方法を採用しています。
○## 読み込もうとするXMLファイルの形式 ###########################
 書き込みのと同じです。
####################################################
○## Classの構造 #########################################
 書き込みのと同じです。
####################################################
○## 処理 #############################################
Public Sub ReadPersonal_XML(filename As String)
'XMLファイル開く
Dim xmldata = XDocument.Load(filename)
'クエリ生成
Dim query1 = From c In xmldata.Descendants("Personal")
'出力
For Each c In query1
Console.WriteLine(c.Element("ID").Value)
Console.WriteLine(c.Element("Name").Value)
Console.WriteLine(c.Element("Age").Value)
Console.WriteLine(c.Element("Memo").Value)
Next
'初期化
xmldata = Nothing
End Sub
####################################################
SQLチックですが、これが最も簡単な方法と感じています。

VB .Netによる階層型(入れ子)XMLファイルの書き込み

様々な方法がありますが、私はこの方法を採用しています。
○## 書き込もうとするXMLファイルの形式 ######################
<?xml version="1.0"?>
<Personal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>01</ID>
<List>
<Data>
<Name>花子さん</Name>
<Age>18</Age>
</Data>
</List>
<Memo>備考</Memo>
</Personal>
○## Classの構造 #########################################
Public Class Personal
Public ID As String
<System.Xml.Serialization.XmlArrayItem(GetType(Data)), _
System.Xml.Serialization.XmlArrayItem(GetType(Object))> _
Public List As New System.Collections.ArrayList
Public Memo As String
End Class

Public Class Data
Public Name As String
Public Age As Integer
Public Sub New()
Name = ""
Age = 0
End Sub
Public Sub New(myName As String, myAge As Integer)
Name = myName
Age = myAge
End Sub
End Class
○## 処理 ##############################################
Public Sub SaveData(filename As String)
'オブジェクト作成
Dim obj As Personal = New Personal
'XMLシリアライズ作成
Dim serializer As XmlSerializer = New XmlSerializer(GetType(Personal))
'XMLストリーム作成
Dim fs As FileStream = New FileStream(filename, FileMode.Create)
'オブジェクト代入
obj.ID = "01"
obj.Name = "花子さん"
obj.Age = 18
obj.Memo = "備考"
'シリアル化し、XMLファイルに保存する
serializer.Serialize(fs, obj)
'初期化
obj = Nothing
serializer = Nothing
fs.Close()
End Sub
#####################################################
この方法で、Data配下のNameとAgeは、List配下で追加することが可能です。
追加にはForやDoなどのループ処理をお使いください。

VBA

VBAでIEを操作する際

VBAでInternet Explorerオブジェクトを操作する場合、
対象となるHPの構造によって、その操作方法を変える必要があります。
id属性があると楽なのですが、id属性が無くname属性しかない場合など、
いくつかあるため、まとめてみました。
(Internet Explorerオブジェクトは「myIE」に格納済みとします。)
○id属性がある場合
myIE.Document.getElementById("id値")

※割と一般的です。

○id属性が無くname属性がある場合
myIE.Document.getElementsByName("name値")(0).Value

※WordPressサイトなどで見受けられました。

○id・name属性が無くタグで検索する場合(inputタグ内の「ログイン」ボタンを押す場合)
For Each myTag In myIE.Document.getElementsByTagName("input")
If myTag.Value = "ログイン" Then
myTag.Click
Exit For
End If
Next

※WordPressなどで見受けられました。

○複数の同じタグから順列(0~)を特定できた場合
myIE.Document.getElementsByTagName("button")(0).Click

※Twitterサイトなどで見受けられました。

参考までにご覧ください。

基礎知識

イーサネットと無線LAN

パソコンをインターネットでつなぐ時に使うLANケーブルの規格を「イーサネット(Ethernet)」と呼びます。

昔は電話線ケーブルでダイヤルアップ接続という方法でインターネットにつないでいましたが、今はLANケーブルを使うことがほとんどです。しかし、このLANケーブルは机の下などに這わせるため、常にごちゃごちゃします。掃除が大変、足は取られる、パソコンの移動とか配線のつけ直しなどのデメリットがあります。そんな時に無線LANを利用するとLANケーブルを大幅に少なくできて便利です。しかし、無線LANにもデメリットがあります。障害物で電波が届きにくい場所がある、LANケーブルに比べてインターネットの接続速度が遅くなる、一つの無線LANアクセスポイントに一度に接続できるパソコンの数が約10~20台程である、などです。重要なパソコンはLANケーブルで、ノートパソコンなど移動して使うパソコンは無線LANにするなど、組み合わせて使うのが良いと思っています。

ハードウェアとソフトウェア

パソコンを使う上で、「ハードウェア」と「ソフトウェア」を分けて考えることが大切です。
ハードウェアは、パソコン本体とかケーブルなどの機械部分を指します。
ソフトウェアは、パソコンの中にインストール(※1)されているプログラムのことを指します。
この2つの関係は、パソコンに何かトラブルが起きた時の問題切り分けに必要な考え方の一つです。
例えば、「パソコンの電源が入らない。」という時にまずハードウェア的に疑うのは「電源ケーブルはちゃんとつながっているか?」「画面が表示されないだけで、パソコンのどこかのランプは点いていないか?」などだったりします。そして、ソフトウェア的に疑うのは「BIOS(※2)やOS(※3)はどこまで起動するか?」だったりします。
このようなことを確認しつつトラブル解決の対応は行われるため、一般の方がサポート窓口に電話をすると多くの質問を受けます。

※1 インストール … ソフトウェアを入れる(組み込む)ことです。
※2 BIOS … Basic Input/Output Systemの略で、パソコンが動く際にまずこれが動きます。
※3 OS … Operating Systemの略で、人間と機械の仲介をするソフトです。

Windows Update

日本で一般的に使われているパソコンにインストールされているWindowsに備わっている機能の一つです。Microsoft社が開発したOS(※1)ですが、当然様々な動作テストを行った上で販売されています。しかし、一般の方々はその想定を超える使い方をすることが多く、また悪意のあるクラッカー(※2)もいるため、常にWindowsは問題点や弱点を修正する必要があります。しかし、その修正をいちいち配布するのは大変なので、インターネットを経由してその修正プログラムを配布します。大体月の中旬、時には月末に配布されます。
初期設定ではこの「Windows Update」は働いている為、右下のタスクトレイにマーク(黄色かったり青かったり形も色々です)が出ます。このマークをクリックすると修正プログラムはインストールされますが、気付かずにパソコンの電源をOFFにしようとすると、自動的にインストールされます。この時、決して電源は触らないでそのまま画面の案内通りにして下さい。
この「Windows Update」は例えると、家の土台を変えるようなもので、プログラム的に繊細な処理を行っている為、始まったらそっとしておくことが大事です。
ウィルス対策ソフトの製作会社も言われていますが、ウィルス対策ソフトを最新の状態に保つのと同じくらい大切なのがこの「Windows Update」です。土台がちゃんとしていなければ、ちゃんとした家が建たないのと同じように、Windowsが最新でなければウィルス対策ソフトもウィルスを防ぎきれないからです。
常にパソコンは誰かから無差別に狙われているため、最低限の安全を確保することが大事です。

※1 OS … Operating Systemの略で、人間と機械の仲介をするソフトです。
※2 クラッカー … 犯罪行為を働くパソコンに詳しい人達のことです。

ダウンロード

ログイン管理表

ログイン管理表_Ver1.xls
常にYahoo!JapanやFacebookなど、私が良く使用しているサイトに簡単にログインするため、
セキュリティに不安のあるパスワードの自動保存ではなく、ExcelファイルのVBA(マクロ)で、
複数のサイトにログインできる処理を実装しました。
パスワードを守るため、Excelファイルそのものにパスワードロックを行うことを推奨します。
サイトによっては、HTMLの構造が変わることがあるため、気づいた時点で修正を行います。
ダウンロードが完了し、当ファイルを開いて上部にオレンジ色で、
「保護されたビュー」が表示されたら「編集を有効にする」、
「セキュリティの警告」が表示されたら「コンテンツの有効化」をクリックして下さい。
もし、何らかの不具合、ご要望がある際は、ご連絡下さい。