<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www12.atwiki.jp/28gou/">
    <title>身近なモノでゴニョゴニョ</title>
    <link>http://www12.atwiki.jp/28gou/</link>
    <description>身近なモノでゴニョゴニョ</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-05-14T20:38:55+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/154.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/157.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/159.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/158.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/155.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/142.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/156.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/147.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/2.html" />
                <rdf:li rdf:resource="http://www12.atwiki.jp/28gou/pages/132.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/154.html">
    <title>ExcelVBA</title>
    <link>http://www12.atwiki.jp/28gou/pages/154.html</link>
    <description>
      #right{&amp;date()}
----
VBAのバージョンは、Excel2007までは5.0、Excel2010から6.0だったはず
|BGCOLOR(skyblue):基本的なこと|BGCOLOR(skyblue):インターネットで検索する方が早いよね|
|BGCOLOR(skyblue):[[モジュールの種類&gt;ExcelVBA/Modules]]|BGCOLOR(skyblue):標準モジュール/クラスモジュール/ユーザーフォーム|
|BGCOLOR(skyblue):[[API&gt;ExcelVBA&gt;API]]|BGCOLOR(skyblue):dllファイルの参照で機能拡張の簡単なことだけ|
|BGCOLOR(skyblue):[[ネットワーク&gt;ExcelVBA/Network]]|BGCOLOR(skyblue):とりあえずVBAでIE操作だけ（詳しいことは知らないので）|
|BGCOLOR(skyblue):[[ファイル操作&gt;ExcelVBA/FileSystems]]|BGCOLOR(skyblue):どういうときに使うんだろう・・・|
|BGCOLOR(skyblue):[[Windows連携&gt;ExcelVBA/Windows]]|BGCOLOR(skyblue):普通にパソコン使う人にはいらない知識|
----
-コードをいくつかのせていますが基本的にOption Explicitみたいな奴は省略して、短いコードを記載しています。
-Excelバージョンは2000/XP/2010あたりで作成していますが、全バージョンで動くかどうかは確認していませんまた。OSはXPしか使っていないです。    </description>
    <dc:date>2012-05-14T20:38:55+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/157.html">
    <title>Ubuntu</title>
    <link>http://www12.atwiki.jp/28gou/pages/157.html</link>
    <description>
      #right{&amp;date()}
#ls()    </description>
    <dc:date>2012-05-14T20:38:09+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/159.html">
    <title>Ubuntu/Tips</title>
    <link>http://www12.atwiki.jp/28gou/pages/159.html</link>
    <description>
      #right{&amp;date()}
#ls()    </description>
    <dc:date>2012-05-14T20:33:58+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/158.html">
    <title>Ubuntu/Tips/Boot</title>
    <link>http://www12.atwiki.jp/28gou/pages/158.html</link>
    <description>
      #right(){&amp;date()}
----------
#contents()
----------
*パソコンのブートの仕組み
パソコンの電源を入れてからOSが起動するまでの順序は、細かい部分を端折れば以下の通り。
&gt;+電源投入。
&gt;+BIOS起動。
&gt;+BIOSプログラムによるブートデバイスの選択。
&gt;+BIOSプログラムによるMBR(512×63byte)プログラムのロード。
&gt;+MBR(512byte)の最初の446byteによるブートプログラムの起動、それに続く16×4byte（パーティションテーブルと呼ばれる）でパーティションのマッピング、最後の2byteのブートシグニチャでMBRの署名チェック。
&gt;++Windows系のOSのハードディスクリカバリなどでは、起動時に特定の操作（0を押したまま起動とか）をすれば、MBRの残り512×62byteのブートシーケンスに制御が移り、専用のプログラムが動く。ここら辺はMBRの最初の446byteに記述されているはずだが、それはメーカー独自の物のはずだから解析は困難だろう。
&gt;++WindowsVista世代以降?では「EFI領域と呼ばれるパーティション」のプログラムを呼び出し、パーティションのマッピングなどをする。（MBRのパーティションテーブルでマッピングできるパーティションサイズとパーティション開始位置は2TBまでであるため、それを越えるHDDが扱えなくなるため。）
&gt;+ブートパーティションのPBR(512×63byte)のロード。ちなみにLinux系では、OSインストール時にブートプログラム（Grub等）のインストール先としてパーティションを指定しないとPBRは空になる。
&gt;+OS起動

Linux系だったら、端末で以下のコマンドを打てば、MBRやPBRの最初の512byteは簡単に確認できる。
&gt;コマンド
&gt;$ sudo fdisk /dev/sda
&gt;$ x
&gt;$ d
&gt;$ q
----------
*ハードディスクのパーティション
パーティションの種類は3つで&amp;color(red){基本パーティション（PrimaryPartition）、拡張パーティション（ExtendedPartition）、論理パーティション（LogicalPartition）}がある。MBRのパーティションテーブルが16×4byteとなっていることからだいたい想像出来ると思うが、ハードディスク（実はUSBメモリなどでも同様）においては、以下のルールが適用される。
1.基本パーティションと拡張パーティションを合わせて最大4つ。
2.拡張パーティションは1つまで
3.拡張パーティションの中には、論理パーティションを最大1つと拡張パーティションを最大1つ作ることができる。
フォルダとかディレクトリで想像すればいいと思うが、このルールでいくらでも論理パーティションは作れる。ただしCドライブとかDドライブの様な識別番号があるから、実際にはある程度までしか作れない。

フリーソフトをインストールすれば大体確認できる。
WindowsXPなら　マイコンピューターを右クリック＞管理＞ディスクの管理　で見れる。他は知らない。
Linuxなら　GParted　一択。
インストールにはコマンド
&gt;$ sudo apt-get install gparted
----------
*MBRやPBRのバックアップ＆編集
MBR弄りに失敗するとかなりのダメージ。OSが起動しないとか当たり前。その状態から変に弄れば中のデータが壊れたりするので注意。

/dev/sdaのMBRバックアップ用コマンド
&gt;$ dd if=/dev/sda of=./sdaMBR.img bs=512 count=63
/dev/sda1のPBRバックアップ用コマンド
&gt;$ dd if=/dev/sda1 of=./sdaPBR.img bs=512 count=63
ちなみにLinuxでは拡張子に意味がないので 出力先の of=（任意のファイル名） としておけばいい。また bs=512 は bs=1b でもいい。（同じ意味なので。）

編集にはバイナリエディタを使う。どこかからかダウンロードしておくといい。しかし実際に弄る機会はそうはないはず。

最後にハードディスクに編集したMBRを戻すコマンド（パーティションテーブルとブートシーケンスは普通は戻さない）
&gt;dd if=./sdaMBR.img of=/dev/sda bs=446 count=1
----------
*MBRの構造
MBR(512*63byte)はブートストラップローダ(446byte)+パーティションテーブル(64byte)+ブートシグニチャ(2byte)+ブートシーケンス(512*62Byte)で構成されている。ちなみに各部の呼び方は統一されていない。この中で弄れるのはパーティションテーブル位だろう。というか弄るのすらやめたほうがいい。

ブートストラップローダ：1次ローダ、1.5次ローダ、2次ローダが記述されている。あとNTシグニチャとか。3次ローダも入っているかも。詳しいことは知らない。
ブートシグニチャ：「55 AA」なら正常。それ以外なら異常なMBRとしてBIOSに認識される。
ブートシーケンス：通常起動以外のプログラムが入る。MBRをバックアップしてバイナリエディタで中身をのぞくと分かるが、ほとんどの場合、何も記述されてなかったりする。

パーティションテーブル(16*4byte)
工事中

----------
*ブートのルール

まずは基本

1.ハードディスク（USBメモリなどでも同様）にあるパーティションのうち、1つのみにブートフラグを立てることが可能で、そのパーティションのブートプログラムが最初にロードされる。

2.Windowsでは、論理パーティションからのブートは不可なので基本パーティションにブートフラグを立てなくてはいけない。

ここからは特にLinux系（Ubuntu）ブートがメイン

3.USBのOSを起動したい
BIOSプログラムがUSBブートに対応しているなら何も問題ない。対応しているかどうかは、BIOS設定画面の「起動」とか「BOOT」とかの項目に「USB」があれば起動可能。無ければ他の方法で手を打つ。BIOS設定画面の出し方は自分の「パソコンの型番 BIOS」や「マザーボードの型番 BIOS」とかで検索すればいいし、実際それしかない。

4.パソコンがUSBブートに対応していなかった
CDから起動出来るなら、Plop Boot Manager というのをダウンロードしてCD-Rに焼けばどうにかなる。詳しくは別ページで解説予定。

5.USB起動ができないノートパソコンでCDドライブもない
もう買い換えろと言いたい所だが、自分が使っているノートパソコンもそういう機種である。だが自分の場合は幸いなことにPCカードからのブートに対応しているので、コンパクトフラッシュ＞PCカードと変換してコンパクトフラッシュに PuppyLinux をインストールしてPuppyのGRUBを設定し、起動時に Plop Boot Manager を動かせるようにして・・・とやっていたが、何か非常に無駄な気がした。そういう経緯で今はHDDにGRUB2を入れてそこから Plop Boot Manager を動かしている。Grub2を編集するだけだが解説でもしてみよう。




工事中    </description>
    <dc:date>2012-05-14T20:33:35+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/155.html">
    <title>ExcelVBA/Modules</title>
    <link>http://www12.atwiki.jp/28gou/pages/155.html</link>
    <description>
      #ls2()
#right(){&amp;date()}
----------
#center{&amp;ref(Mudules1.jpg,Images)}
-モジュールの種類は標準モジュール/クラスモジュール/ユーザーフォームの３つ…だけではなく、シートモジュールとブックモジュールもこの範疇だろう。前者の３つと後者の２つの違いはイベントマクロが使えるかどうかぐらいなのだが…実は標準モジュールでもAuto_Openといったイベントマクロが使える。ここら辺の話はVBAの開発の歴史と関係がある。詳しくは検索した方が早いだろう。日進月歩の分野なので、全容を完璧に記憶している人はいないと思いますが。
----------
*標準モジュール/ユーザーフォーム
省略
----------
*クラスモジュール
構造体の機能拡張がクラスモジュール。クラス2つと標準モジュール1つのサンプルはこちら。
|BGCOLOR(skyblue):TOP:Class1|BGCOLOR(skyblue):TOP:Class2|BGCOLOR(skyblue):TOP:Module1|
|BGCOLOR(skyblue):TOP:Dim Z&amp;nbsp(br,br)Property Let X(val)&amp;nbsp(br,4)Z = val&amp;br()End Property&amp;nbsp(br,br)Property Get Y()&amp;nbsp(br,4)Y = Z * 2&amp;br()End Property|BGCOLOR(skyblue):TOP:Dim Z&amp;nbsp(br,br)Property Let X(val)&amp;nbsp(br,4)Z = val&amp;br()End Property&amp;nbsp(br,br)Property Get Y()&amp;nbsp(br,4)Y = Z ^ 0.5&amp;br()End Property|BGCOLOR(skyblue):TOP:Sub Sample1()&amp;nbsp(br,4)Dim MyCls As New Class1&amp;nbsp(br,4)Mycls.X = 5&amp;nbsp(br,4)MsgBox MyCls.Y&amp;br()End Sub&amp;br()&amp;br()Sub Sample2()&amp;nbsp(br,4)Dim MyCls As New Class2&amp;nbsp(br,4)Mycls.X = 5&amp;nbsp(br,4)MsgBox MyCls.Y&amp;br()End Sub|

-解説
--MyCls　のあとの　As New Class*　だけ必須。他の　As　は省略した。Sample1を実行すると10が表示される。Sample2を実行すると√5が表示される。
--クラスはそもそも何かというと、その内部で完結する作業コードのまとまりのことである。ある処理を一箇所のモジュールに集めて、外部からは参照するだけにすることを「オブジェクト指向」という。
--ExcelVBAのクラスモジュールの良いところは、標準モジュールが簡素になる、コンパイル不要なので修正しやすい、クラスモジュールが実体化したときに（パソコンの）メモリ空間が一気に確保されるので処理が高速になる、ということ。しかし処理スピードの差が分かるほどのコードを書く人はあまりいない。
--ExcelVBAのクラスモジュールは、通常のプログラミング言語の「オブジェクト指向」から見れば低レベル。要するに「Classモジュールで出きる範囲＝標準モジュールで出来る範囲」だからである。
-図解
--Class1という箱があって、Property Letという入口とProperty Getと言う出口がある。Zと言うのは箱の中で入ってきたものを一時保存する入れ物。


工事中
----    </description>
    <dc:date>2012-05-13T22:20:51+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/142.html">
    <title>管理ページ</title>
    <link>http://www12.atwiki.jp/28gou/pages/142.html</link>
    <description>
          </description>
    <dc:date>2012-04-25T19:59:16+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/156.html">
    <title>Images</title>
    <link>http://www12.atwiki.jp/28gou/pages/156.html</link>
    <description>
          </description>
    <dc:date>2012-04-24T22:18:17+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/147.html">
    <title>荒らし報告</title>
    <link>http://www12.atwiki.jp/28gou/pages/147.html</link>
    <description>
      荒らしが出たら報告してください。対処策を実施します。　　[[back&gt;http://www12.atwiki.jp/eternal-dreamer/]]
----
 テンプレ　（分かるものだけで結構です。）
 ■通報者名■ 省略可
 ■発生時刻■ 省略可
 ■発生場所■ 必須
 ■通報理由■ 必須
 ■IPアドレス■ 分かる範囲で
- チラシの裏にある落書き帳の内容を削除する、悪質な荒らしを見つけました。 &amp;br()対処をお願いします。 &amp;br() &amp;br()■発生時刻■ 2010/01/08 (金) 17:43:02と &amp;br()           2010/01/09 (土) 03:33:10 &amp;br()■発生場所■ チラシの裏 &amp;br()■通報理由■ 断り無しに落書き帳の内容を削除するため。 &amp;br()■IPアドレス■  &amp;br()210.194.178.5 &amp;br()2010/01/08 (金) 17:43:02と &amp;br()2010/01/09 (土) 03:33:10に削除しています。 &amp;br() &amp;br()ページを書き換えるといった行為と比べると、 &amp;br()落書き帳の全消しというのは小さなことかもしれません。 &amp;br() &amp;br()しかし、その小さな場所に書かれていることでも、 &amp;br()楽しみにしている人がいることもまた事実です。 &amp;br()それを踏みにじる行為は充分荒らしと呼ぶに相応しいと思います。 &amp;br() &amp;br()何卒、対策をお願いしますm(_ _)m  -- 名無しさん  (2010-01-09 08:55:07)
- ↑間違ってENTERキーを押してしまいました。 &amp;br()発生時刻を2度言ってしまっていますが無視して下さい。  -- 名無しさん  (2010-01-09 08:56:57)
#comment(vsize=10,size=40)    </description>
    <dc:date>2010-01-09T08:56:57+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/2.html">
    <title>メニュー</title>
    <link>http://www12.atwiki.jp/28gou/pages/2.html</link>
    <description>
          </description>
    <dc:date>2008-02-11T01:10:45+09:00</dc:date>
  </item>
    <item rdf:about="http://www12.atwiki.jp/28gou/pages/132.html">
    <title>掲示板</title>
    <link>http://www12.atwiki.jp/28gou/pages/132.html</link>
    <description>
      御用があればどうぞ
----
#comment(vsize=3)
----
アクセスカウンター
本日 &amp;counter(today)
昨日 &amp;counter(yesterday)
総計 &amp;counter()
----    </description>
    <dc:date>2008-01-04T17:14:35+09:00</dc:date>
  </item>
  </rdf:RDF>

