2010年3月19日金曜日

BIOSアップデートのためのUSB起動ディスク化

この間、というよりかは1年ほど前からですが、
PCが起動せずにループしたり、BIOSまでたどり着かなかったりというような問題が起こっています。
学校じゃ息をするのに等しく不良PCに触れていましたが(言い過ぎか)、
流石に毎日使う自分のPCが、使いたいときに起動しないのはどうもつらいので、
手始めに電源を取り替えてみたんですが、まぁそれはいいです。


で。
今まで敷居が高いと思ってしてなかった、BIOSのアップデートをしてみました。
残念ながらというか時代に従っているのか、FDDが無い環境なので、
USBを起動ディスクとして作成し、アップデートしました。

以下が参考にさせていただいたサイトです。
USB起動ディスクの作り方 - MS-DOS、FreeDOS、イメージファイル、USBメモリ、フラッシュメモリ - パソコン・Windows
また、今回使用したアップデータはこのページの一番上。マザーボードは「ASUS P35 Neo-F」。
BIOS - エムエスアイコンピュータージャパン株式会社

今回は、上のサイトの「MS-DOSを使う場合」で行いました。
つまりは、仮想FDDを起動ディスク化し、USBへコピーするという方法です。
ちなみに、上サイトでは「XP」ですが、今回は「7」で行っています。

上サイト「2-2」、ここで仮想FDDを作成します。
書かれているとおりに「Virtual Floppy Drive」をダウンロード・解凍し、
「vfdwin.exe」を起動した画面がこれ。

まずは「開始」をクリック。

開始されたので、「ドライブ0」タブに移ります。

ここではまず、ドライブ文字を設定します。「変更」をクリック。

現在空いているドライブ文字一覧が出るので、好きな文字を選択、「OK」。
今回は「M」にしました。

割り当てられたことを確認した後、仮想FDDを開きます。
「開く/新規」を選択。

開く仮想イメージは無いのでそのまま、「作成」を選択。

これで仮想FDDが表示されます。
この時点ではまだ「普通のFDD」なので、起動ディスクへフォーマットします。
ドライブを右クリック→「フォーマット」を選択。
MS-DOSの起動ディスクを作成する」にチェックを入れ、「開始」で即座に完了します。

これで仮想FDD起動ディスクが出来たので、USBにコピーします。
が、参考サイトに書かれているとおり、そのままディスクをコピーするだけでは無理です。

参考サイト「2-3」にある、
「HP USB Disk Storage Format Tool」をダウンロード、インストールし、実行した画面がこちら。

「Device」には、起動ディスクにするUSBを選択。
「Create a DOS startup disk」にチェックを付け、
「using DOS system files located at:」に、先ほど用意した仮想FDDを選択して、「Start」。

「データ消えるけど大丈夫?」みたいなことを言われるので「はい」を選択し、少し待てば完了です。

USBにデータが入っているように見えますが、開いてみると「何もありません」と表示されます。
いや、実際には入っているんですが。

これでUSB起動ディスクが出来たので、
使用するアップデータを放り込んで、BIOSのブート順位でUSBを優先し、
各アップデータの指示通り実行すればOKです。


でも、なんでUSBを直接起動ディスクとしてフォーマット出来ないんだろう。
やっぱりセキュリティ的に嫌なのかなー。

2010年2月6日土曜日

Vista(XP) 入力システムの切り替えショートカットを変更する

Windowsをインストールして、普通に使う分にはIMEしか入っていませんが、
市販されているATOKや、去年公開されたGoogle日本語入力を利用する際は、入力システムが混在してしまいます。

僕はすでにATOKを利用していて、あまりIME2007に切り替える必要はありませんが、
時折ソフトウェアでうまく使えないときがあったりなど、切り替え方法は覚えておいて損はしません。

タスクバー上のアイコンから切り替えることも出来ますが、
Windowsのデフォルト設定では「左Shift+Ctrl」でショートカットが用意されており、
これまた一部のソフトウェアで割り当てられているショートカットでもあるのです。
というわけで、このショートカットキーを、無難なものに変更する方法をまとめます。


設定といえばコントロールパネル。
通常表示の場合は、右側「時計、言語、および地域」内の、「キーボードまたは入力方法の変更」を選択。

クラシック表示の場合は、「地域と言語のオプション」から。

地域と言語のオプション」ウィンドウが表示されるので、
「キーボードおよび他の入力方法」内の「キーボードの変更」を選択。

テキストサービスと入力言語」ウィンドウが表示されるので、
「詳細なキー設定」タブ内の「入力言語のホットキー」メニューから、
「入力言語間(変更したい入力言語)」を選択し「キーシーケンスの変更」をクリック。


あとは好きなショートカットに変えるだけです。
「アクサングラーブ」っていうのは「`」のことかな?

2010年1月28日木曜日

簡易リストタグ生成JavaScript

最近はTwitterに付きっきりで、ブログをあんまり書いていないのですが、
一つの投稿に対して複数の参考サイトがある場合、リンクタグでまとめて置いたりします。

今までは、そんな時に一からタグを書いていました。
おかげで、リストタグを覚えてしまったし、打つのも早いわけです。
が、それも手早く作れたらいいよなぁと思ったので作りました。


以下を右クリック→「お気に入りに追加」してください。
◆簡易リストタグ生成JS


基本は、【再更新】簡易リンクタグ生成JavaScriptと同じ考え方ですが、
生成する際にパラメータを渡すことで、要素の個数と形式をある程度指定できます。

対応するリストタグは以下のようなものです。
<ol><li></li></ol>
<ul><li></li><li></li></ul>
これをパラメータにより生成する場合は、
「1,ol」
「2,ul」
と入力します。

現在、一般的に使用されているブラウザで使用出来ると思いますが、
一部ブラウザはセキュリティの観点から警告が出るかもしれません。
また、なぜかSleipnirでは使用出来ない状況です。
パーツごとでは動作するし、IEでも利用できるので余計に意味不明です。

Sleipirで使えなかったら意味ないなぁ。

以下ソースです。
▼続きを読む/たたむ

2010年1月12日火曜日

XP 削除できないFramework2.0を再インストール

※追記:一部「アンインストール」が「再インストール」になっていたので修正。
先週金曜日から判明していた問題なのですが、今日解決したので記念にメモ。

授業のVB.NETの課題を行うために、基本開発環境であるVS2005を使用しているのですが、
ある生徒のマシンでは、既存のプロジェクトを開くどころか、プロジェクトを新規作成しようとしても、
「致命的なエラーが発生しました」のようなエラーが発生し、非常に困った状態でした。
エラー状態のキャプを撮ってなかったのが残念。

VS2005本体をアンインストールし、再インストールしてもエラー発生。
困り果てていたので、VS2005と同時にインストールされたであろうソフトウェアも削除していきました。
その間で唯一エラーでアンインストールできなかったのが「Framework2.0」です。

仕方がないので、以下を参考にFramework2.0を再インストールすることに。

削除するのは、
  1. Windows Installer CleanUp」を使って、インストール情報のレジストリを削除
  2. Framework2.0関係のファイルを削除
  3. Framework2.0関係のレジストリを削除
という過程で。 方法自体は書かれている通りですが、一部ファイルが通常では削除できなかったので、 セーフモードに入ってから削除しました。 あとはレジストリを削除し再起動したあと、リンク先にあるFramework2.0をインストールして完了。 この状態でVS2005をインストールし実行すると、元通り使用出来る状態へ。 やはり、Framework2.0が原因だったようです。 なぜ壊れたかの判別が出来ればいいのですが・・・。

2010年1月11日月曜日

XP/Vista OSが破損しているHDD内のデータへアクセスする3つの方法

以前の投稿のXP システムファイル破損によってOSが起動出来ない問題に対する対処法を読んだ後輩から、
「2つ目の対処法の【何らかの方法】での接続がわからない」との質問を受けたのでメモ。

考え方としては単純で、要は「HDD内のデータを操作」出来ればいいということです。
XP/VistaOSのシステム部分のデータが壊れていようが、
マザーボードに接続しても認識できないレベルの物理破損や、
HDDの記録面の消耗などによって、パーティション情報などが破損する論理破損の場合を除き、
基本的に、XP/Vistaから認識できるはずです。

上記の破損状態を除いた場合、
HDD内のデータにアクセスする方法は、僕が知る限り3つあります。


1.内蔵HDDとして認識する方法
XPやVistaを使用している時に、HDDの容量が少なくなった事態を考えてみると、
接続方法が分かる人は、HDDをPC本体に増設しますよね。
その方法とほぼ同じく、無事に動作している他のXP/Vistaマシンに内蔵します。

その時の注意点として、HDDのブートの優先順位を設定する必要があります。
BIOSから「正常に動作するOSのHDD」「アクセスしたいHDD」の順にブートするようにセットします。
(HDDの接続方法がIDEで統一されている場合は、HDDのジャンパーを適正にセットする必要があります。
 @IT:PCメンテナンス&リペア・ガイド:第9回 失敗しないハードディスクの増設方法)

あとは、破損しているファイルを置き換える作業をするのみです。


2.外付けHDDとして認識する方法
USB2.0の規格が確立してから爆発的に売れている外付けHDDのように、
内蔵用HDDを接続してアクセスします。

手段としては、スーパーファミコンのソフトをガシャン!と挿すようにHDDを接続するアイテムが発売されています。
それかもしくは、HDDを裸のまま接続する機器を使用します。


これらの方法を用いて、起動中のXP/Vistaへ接続しファイルを置き換えます。


3.Linuxのディスクブートからアクセスする方法
これは、今回の「システムファイルの置き換え」とはほぼ直接関係しませんが、まぁ一つの案として。
KNOPPIXなど、ディスクからブート出来るLinuxを用意し、起動後にファイルを操作します。
USBメモリも認識するはずなので、そこからファイルを置き換えることもできますし、
もう諦めてしまう際の、ファイル避難にも使えます。


困ってすぐに行動を起こすなら1、機器があるなら2で接続すれば良いと思います。

2009年12月21日月曜日

【再更新】簡易リンクタグ生成JavaScript

Chromeのクリップボードにコピーしたいなぁ」で困っていたものの、
IE以外のブラウザでは、直接クリップボードへコピーする方法が見付かりませんでした。

なので、直接クリップボードへコピーしないようにしました。
結局、IE以外ブラウザでは、プロンプトでタグを表示するようにしています。


タグ内に2バイト文字が含まれると、入力ボックスに正しく表示されませんが、
コピーさえ出来ればいいので、まぁいいでしょう。

以下を右クリック→「お気に入りに追加」してください。
◆ブラウザ別簡易リンクタグ生成JS

ソースは以下の通りです。
javascript:
    var dt=document.title;
    dt=dt.replace(/[<]/g, "&lt;");
    dt=dt.replace(/[>]/g, "&gt;");
    dt='<a href="' + document.URL + '" target="_blank">' + dt + '</a>';
    if (window.navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
        window.clipboardData.setData('Text',dt);
        window.status='◆リンクタグをクリップボードへコピーしました。';
    } else {
        prompt('◆簡易リンクタグ生成:以下をコピーして使用します。',dt);
    }
    void(0);
おおよそのソースは【更新】簡易リンクタグ生成JavaScriptと同じです。 あー、Chromeは「お気に入りに追加」出来ないのか。

2009年11月30日月曜日

XP/Vista PC起動時に起こる無限ループへの対処法

先日1,2年生が作業で困っていたので、闘ってみました。
PC起動時に起こる無限ループは今まで何度も困ってきたので、この際解決してしまおうという事です。

そもそも、無限ループが起こってしまう現象は、今までの経験上2つに限られています。
  • BIOSを読み込んですぐ後に再起動→無限ループ。
  • OSのロゴが出ている間(出た後)に再起動→無限ループ。
更にその経験上、これら2つの現象を解消するには、OS再インストールが手っ取り早い事が多いです。 その理由は下にまとめるとして、まずは無限ループを止めることが先決です。 無限ループを止めるには、PCを起動し「F8」キーを押して表示する、 「詳細ブートオプション(XPでは「Windows拡張オプションメニュー」)」から、 「システム障害時の自動的な再起動を無効にする」を選択し、OSを呼び出します。 こうすることで、BSOD(ブルスク)が起こってしまった際に、自動的に再起動することを防ぐことが出来ます。 ということは、BSODから「無限ループが起こる理由」が引き出せるわけです。 この作業を行った上で、無限ループの原因を突き止めます。 まずは、BIOSを読み込んですぐ後に再起動→無限ループしてしまう場合。 この場合は、OSを呼び出す際に失敗しているのでBSODが表示されます。 前回無限ループが起きた際は、「0x0000007B」エラーでした。 Windows XP における "STOP 0x0000007B" エラーのトラブルシューティング方法 このリンク先を見てみると、ブートセクタの問題に思えます。 つまり、OSを呼び出すためのMBR(マスターブートレコード)が破損している可能性があるわけです。 MBRを修復する方法も、検索してみるとあるようですが、 OSを再インストール出来る環境の場合は、再インストールしたほうが手っ取り早いというわけです。 次に、OSのロゴが出ている間(出た後)に再起動→無限ループしてしまう場合。 こちらは、MBRによってOSが呼び出された後のBSODなので、MBRの破損では無いようです。 この場合は、OSを起動しシステムを準備している際に失敗しているので、 OSのシステムファイルが破損していて読み出せず、BSODになってしまいます。 このBSODでは、下部にシステムファイルの名前が表示されているかもしれません。 Windows XP を修復するために回復コンソールを実行する方法 このリンク先のように、破損したファイルを置き換えて対処することも可能な事もあります。 Vistaのスタートアップ修復での対処も可能な場合があります。 ただ、「何故ファイルが破損されたのか」が分からないままPCを使用することになるので、 OS再インストールを行い、ドライバなどを見つめ直しながらセットアップすることをお勧めします。 こういった「方法」を知っているか知らないかで大きく状況が変わる時があります。 今回の場合も、解決出来なければ「壊れたPC」として扱われるところでした。 だからといって、「知る」為には経験しかないので、どうしようも無いのですが。

2009年11月28日土曜日

Excel シートを素早く切り替えるための2つの方法

Excelはシートが複数枚作れるので、かなりの量のデータを区別して入れておくことが出来ますが、
あまりにもシートが多くなると、スクロールバーに隠れてしまい選択しづらくなります。


そういった場合に、非常な有効な方法が2つあります。
1つは、シートを一覧で表示し選択する方法です。

シートが表示されている左側の「見出しスクロールバー」を右クリックすると、シートの名前が一覧で表示されます。
この状態で表示したいシートを選択すると、そのシートへ移動します。

この方法では、シートを直接指定選択するので、1クリックで開くことが出来ますが、
シート名のみの表示なので、きちんとシート名を決めていないと逆に探しにくい事になります。

もう1つは、キーボードショートカットを使用する方法です。

通常にシートを開いている状態で、
左のシートに移動する場合には「Ctrl + PageUp」を、
右のシートに移動する場合には「Ctrl + PageDown」を入力します。

この方法では、現在選択しているシートから左右に移動するので、
シートの内容を参照しながらシート移動することが出来ますが、
「このシートに切り替えたい」という場合には、要らないシートを表示し時間が無駄になります。


入力後にマウスに手を動かすのが面倒だったりすることもあるので、
要はマウスとショートカットを使い回せれば良いと思います。

2009年11月7日土曜日

VB.NET 入力値数値チェック+0詰め

これもまた、学校の課題の中で使用するソースですが、
本来とはまた違う数値チェックになります。

そもそも「IsNumeric」や「TryParse」という存在を、
昨日に初めて知ったので、当然使用していませんでした。
個人としては、ずっとこのチェックを使ってきたので、
まぁいいかなぁという感じです。
' *******************************
' TextBox1 の中身の数値チェック
'  + 4桁まで頭に0を付ける
' *******************************
Try

    ' TextBox1の中身
    Dim sData As String = Me.TextBox1.Text

    ' Integerへ変換
    Dim iData As Integer = Integer.Parse(sData)
    Dim iLength As Integer = iData.ToString.Length

    ' 4桁制限
    If iLength > 4 Then

        MsgBox("4文字以内で入力して下さい")
        Me.TextBox1.Text = ""
        Me.TextBox1.Focus()
        Exit Sub

    End If

    ' 不足分"0"作成
    sData = ""
    For i As Integer = iLength To 3

        sData += "0"

    Next

    ' TextBox1へ戻す
    Me.TextBox1.Text = sData & iData.ToString


' 数値以外
Catch ex As Exception

    MsgBox("数値以外です")
    Me.TextBox1.Text = ""
    Me.TextBox1.Focus()

End Try
Try内で「Integer.Parse」を行い、 「変換できれば」0詰め処理を行います。 この場合「0002」など、すでに頭に0が付加されているものも数値をして認識し、 全角数字やローマ数字はエラーとなります(Integerへ変換できないため)。 頭に0詰めする理由としては、 データベースを用いてマスタメンテを作成する上で、 0を入力する手間を省くためです。 また、この処理では、 「1,525」などの区切りが行われている場合は、 当然文字として認識するので、使用出来なくなります。 その場合は、カンマの存在をチェックし、あるなら省く必要がありますね。

2009年10月29日木曜日

VB.NET Enter時フォーカス遷移

昨日の続きで、試験で使用するソースについてメモ。

基本的にフォーカスを遷移する際にはTABを使うので、
遷移順位を付ける「タブオーダー」で並べ替えておきます。
ですが、一つの画面で複数の項目を素早く入力する場合には、
入力後の「Enter」で次のテキストボックスやボタンに遷移しておくべきです。

というわけで、その為のソースです。
2通りの方法がありますが、好きな方を選ぶと良いと思います。

1つ目:「KeyDown」での取得・遷移。
' ******************************************************
' Enter時フォーカス遷移 / KeyDown
' ******************************************************
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, _
  ByVal e As System.Windows.Forms.KeyEventArgs) _
  Handles TextBox1.KeyDown

  ' Enterの場合
  If e.KeyCode = Keys.Enter Then

    ' ビープ音を鳴らさないようにする
    e.SuppressKeyPress = True
    ' 次のTextBoxへフォーカスを当てる
    Me.TextBox2.Focus()

  End If

End Sub
「KeyDown」時に「どのキーが押されたか」をチェックします。 「Keys.Enter」で無くとも、Enterのキーコードである「13」でも可能です。 2つ目:「KeyPress」での取得・遷移。
' ******************************************************
' Enter時フォーカス遷移 / KeyPress
' ******************************************************
Private Sub TextBox2_KeyPress(ByVal sender As System.Object, _
  ByVal e As System.Windows.Forms.KeyPressEventArgs) _
  Handles TextBox2.KeyPress

  ' Enterの場合
  If e.KeyChar = Chr(Keys.Enter) Then

    ' ビープ音を鳴らさないようにする
    e.Handled = True
    ' 次のTextBoxへフォーカスを当てる
    Me.TextBox1.Focus()

  End If

End Sub
「KeyPress」時に「押されたキーはどれか」をチェックします。 「Chr(Keys.Enter)」は、 Chr関数によって「Keys.Enter」をそのまま「Enter」として返しています。

2009年10月28日水曜日

VB.NET テキストボックスでの入力制限

去年の春から授業でVB.NETを学び始め、それが今年も続いています。
当然年度ごとに大きな課題があり、
頭を悩ましながらかつ、みんなと協力しながら作り上げていきます。

そんな年度末の課題で使用した、テキストボックスの入力制限を、
今年の課題でも使う時が来たので、見て思い出せるようにメモ。

VB.NETとタイトルでは一言で書いてありますが、
生憎授業及び自宅での開発環境はVS2005ですので、
もしかしたらそれ以前、以降の環境ではダメかも知れないので注意。
' ******************************************************
' キー入力制限 / 数字+BackSpaceのみ
' ******************************************************
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
  ByVal e As System.Windows.Forms.KeyPressEventArgs) _
  Handles TextBox1_KeyPress

  If (e.KeyChar < "0"c Or e.KeyChar > "9"c) _
   And e.KeyChar <> vbBack Then

    e.Handled = True

  End If

End Sub
入力制限は、TextBox1のKeyPressイベント発生時に行います。 このサンプルはコメントにも書いてある通り、「数字+BackSpace」のみです。 判断文字をしている際の「"0"c」などは、Char型へキャストしています。 この事に関しては、Microsoftのリファレンスに書かれていますね。 文字型 (Char) もし数字以外を入れたり(日付のための「/」など)する場合には、 判断にその文字を入れる必要があります。

2009年10月14日水曜日

IE8 ソースエディタを変更する

IE6,7では、指定された場所にレジストリを書き込むことによって、
ソースを表示する際のエディタを変更出来ますが、
IE8になった際に、その方式が変更になりました。
IEから変更出来るようになったのは良いものの、分かりづらいわけですね。

というわけで、以下が手順。

IE8を起動し、コマンドバー「ツール」から「開発者ツール」を選択。
IE8から搭載された(?)「開発者ツール」を表示します。

「ファイル」→「internetExplorerソースの表示のカスタマイズ」内が、
「メモ帳」となっているはずなので、「その他」を選択し変更します。

僕のVistaはIE7から8へ上げましたが、元からTerapadになっていたので、
もしかしたらIE8セットアップ時に自動的に判別してくれるのかも知れません。

2009年10月12日月曜日

Vista スタートメニューの高さ変更

Vistaでは、スタートメニューの「すべてのプログラム」を、
XPとは違い大きく広げて表示出来ないと言う、
ある意味設計ミスに思える仕様があります。

おかげで、「すべてのプログラム」をパッと全て見ることが出来ず、
いちいち必要なフォルダへスクロールして選択する必要があります。

ということで、出来る限り多くのフォルダを表示するために、高さを変更します。
とは言えども、高さをどう設定すればいいのか分からないので、
実質的には物量作戦になります。
タスクバーを右クリック→「プロパティ」から、
「タスクバーと[スタート]メニューのプロパティ」を表示。
「[スタート]メニュー」タブ内の、
「[スタート]メニュー」選択時の「カスタマイズ」を選択。

「スタートメニューのサイズ」内の数字を変更してOK。
「タスクバーと[スタート]メニューのプロパティ」へ戻り、OK。


高さが変わっていれば完了です。

2009年10月7日水曜日

Vista 「一つ上のフォルダ」への3つの方法

Vistaを使用する際にはあまり気にしていなかったので、
昨日の授業中に先生から言われるまで気付かなかったのですが、
Vistaではウィンドウに「一つ上のフォルダ」のアイコンが無いんですね。
XPではいつも使ってるのに、何故気付かなかったのか・・・。

と言うことで、
「一つ上のフォルダ」への3つの方法をまとめます。

まず1つ目。
VistaのアドレスバーはXPとは違い、基本パスが表示されません。
それぞれ潜ってきたフォルダ名ごとにボタンのような表示になります。

ですので、一つ前のフォルダを選択すれば上がります。
XP使いにはピンと来ないと思いますが、一番簡単な方法です。

2つ目。
Vista テクニックVol.01に書いてある通り、
Altキーを押して表示するメニューバーから表示する方法。

「表示」→「移動」→「一つ上の階層へ」で上がります。
常にメニューバーを表示する方法もありますが、
いちいち開いていくのはXPからすると、正直面倒ですね。

3つ目。
上の画像にもある通り、ショートカット「Alt+↑(上矢印)」を使用する方法。
キーをポンと押すだけでいけますが、
キーボード右のAltキーじゃ無理でした(キーボードに依る?)。
なので、ほぼ両手で押さなければいけないことになり、
結果としてマウスから手を離す羽目に。
それなら1つ目の方法で充分ですね。

なんで「一つ上のフォルダ」アイコンを消しちゃったんでしょう?
やっぱりアドレスバーをそういう仕様にしたからなのでしょうか。

2009年9月29日火曜日

【更新】簡易リンクタグ生成JavaScript

※追記:再更新しました。
【再更新】簡易リンクタグ生成JavaScript簡易リンクタグ生成JavaScript」の更新版です。
IE,Sleipnirで動作確認済です。

前回の投稿では本当に簡易的に作っていたので、
一部のページでは取り返しのつかないほど困ってしまいます。

例えば。
ページタイトルが「<a>の使用方法」や「<div>の効力」の場合、
<a href="http://test.jp/a.htm"><a>の使用方法</a><a href="http://test.jp/div.htm"><div>の効力</a>
このようなソースになってしまいます。
これでは、リンクでない以前に「タグが閉じられていない」事によるページエラーが発生します。

そのために、以下の様に書き加えました。
javascript:
var dt=document.title;
dt=dt.replace(/</g, "&lt;");
dt=dt.replace(/>/g, "&gt;");
window.clipboardData.setData('Text', '<a href="' + document.URL + '" target="_blank">' + dt + '</a>');
window.status='◆リンクタグをクリップボードへコピーしました。';
void(0);
以下を右クリック→「お気に入りに追加」してください。 ◆リンクタグ生成JS 内部で「<>」を処理するために、「replace()」を使用しています。 以下のサイトを参考にしました。 Javascript: Replace の怪 正規表現(RegExp) 「replace()」は、単に文字を置換するだけでなく、 判断基準に正規表現を盛り込むことが出来ます。 正規表現の領域(対象)を「/.../」内に指定するので、 「dt.replace(/</g, "&lt;")」は、 「dt」内にある「<」を全て(g)「&lt;」へ置換する処理 になります。 これだけ憶えておけば、JSでの置換処理の道はグッと近くなりますね。 <>以外には<a>の邪魔になるモノはもう無いはずです。 たぶん。 HTMLは基本タグなので、タグの邪魔にさえならなければ大丈夫ですよね。

2009年9月15日火曜日

XP/Vista スタートアップを表示/管理

今日の業務で必要になったので、忘れないようにメモ。

XPやVistaでの、一般的なスタートアップは、
「スタート」→「すべてのプログラム」→「スタートアップ」に格納されていますが、
システム系や、インストーラでのインストールソフトウェアでは、
レジストリに直接書き込まれる事があります。
そういったレジストリ型スタートアップは、表面的に見えないので、
「何かがエラーを起こして困る」といった時には少し困ったりします。

そういった時には、「システム構成ユーティリティ」を使用することで、
簡単にスタートアップを把握することができます。


「スタート」→「ファイル名を指定して実行」で、「msconfig」と入力しエンター。
(Vistaは、「スタート」→検索バー入力でもOK。)
すると、システム構成が起動するので、上タブ「スタートアップ」を選択。

ここでスタートアップを表示し、有効/無効を切り替えることができます。
ただし、システム上必須であったり、グラフィックなどの描画系などは、
むやみに止めてしまうと動作が不安定になりかねないので、
「無効にする必要がある」という明確な理由が無い限り、
触らないでおくことが望ましいです。

余談として、「スタートアップチェッカー」というフリーソフトがあります。
the Fang of Sky
公式では、対応はXPまでのようです。
このソフトウェアでは、上に挙げたようなスタートアップの有効/無効を切り替えられる他、
PC起動時のスタートアップの起動順を整えることができます。
が、正直スタートアップの起動順整理による高速化での効率にはさほど興味が無い上に、
「ちゃんと動いていれば触らない方がいい」という自己経験から、不要な気がします。

「スタートアップの順番を変えたせいで起動しなくなった」
なんて症状は起こらないでしょうけれど。

2009年9月14日月曜日

XP プログラムの既定設定

このあいだ、Vistaのプログラムの既定設定をまとめましたが、
今回はそのXP版です。


「コントロールパネル」から「プログラムの追加と削除」を開き、
その左メニュー「プログラムのアクセスと既定の設定」を開きます。

「プログラムの追加と削除」という名なのに、
その中に設定系を置いておくなんて、普通はわからないですよね。

2009年9月10日木曜日

XP システムファイル破損によってOSが起動出来ない問題に対する対処法

ブルースクリーンはとうに見慣れましたが、
それでも表示される度に口を大きく開いてしまいます。
とにかく、あの青い画面は強烈なものなのです。

で。
時折発生するブルースクリーンに、「Ntfs.sys」が絡んでいることがあります。

(画像はVistaのモノですが、XPもほぼ同等です。)
この「Ntfs.sys」は、「%Systemroot%\System32\drivers(C:\Windows\System32\drivers)」に存在するファイルです。
これが何らかの原因で破損することがあり、結果的にこのファイルが読めず、
OSが起動出来ない、再起動ループなどを起こします。

この場合の対処法としては2つあります。
1つは、WindowsXPディスクからの回復コンソールでの修復。
壊れている「Ntfs.sys」を、WindowsXPディスクにあるそれと置き換える方法です。
それに関しては、以下のようなページが参考になります。

2つ目は、別に起動しているXPから「Ntfs.sys」をコピーする方法です。
エラーが発生しているHDDを、何らかの方法で別のXPマシンに接続し、
「Ntfs.sys」を直に書き直すことで、ひとまず対処できます。
この「ひとまず」が重要で、あくまでも別XPから取得したものなので、
今後何らかの問題が起こる可能性を含めています。
「Ntfs.sys」が何者か分からない以上、応急処置として考えるべきです。


また、「Ntfs.sys」以外にも、「dnsapi.dll」のエラーも発生しました。

ファイルの場所は「%Systemroot%\System32」です。
この場合は、OSが起動出来ないのではなく、
起動するもののファイルが読めないので進めない、状態でした。
これも、対処法2つ目で応急処置しましたが、正直どうなるかわかりません。


そもそも、WindowsXPディスクから持ってきて可能なのであれば、
それはもうそのシステム固有のものでは無いはずなので、
大丈夫だと思い込んでおきたいのですが・・・。

2009年9月9日水曜日

Excel 2007で「オブジェクトの選択」を表示する

もう一般PCにもほぼ普及されつつあるExcel2007ですが、
Excel2003以前から使用している人からすれば、
使いづらいものの何物でもない気がします。
基本的なメニューはタブ化されてしまい、
「使いたい機能がすぐ使えない」ことがたびたびあるからです。

その「見えていない機能」のひとつに、「オブジェクトの選択」があります。
2003の頃には、基本下にあった「図形描画ツールバー」に、
矢印としてあり、すぐにカーソルと切り替えられました。
それが無いおかげで図形やテキストボックスを、
Ctrl+クリックで侘びしく選択することになるのです。


その、機能として隠れたところにある「オブジェクトの選択」と、
ついでによく使う「印刷プレビュー」を、すぐ使えるように、
「クイックアクセスツールバー」に表示します。

クイックアクセスツールバーを右クリック
→「クイックアクセスツールバーのカスタマイズ」を選択すると、
「Excelのオプション/ユーザー設定」が表示されます。

まずは、「印刷プレビュー」から。
表示されたままの画面「基本的なコマンド」内にある、
「印刷プレビュー」を選択し、「追加」します。

続いて、「オブジェクトの選択」。
「コマンドの選択」を、「[ホーム]タブ」に切り替えた中の、
「オブジェクトの選択」を選択し、リストに加えて「OK」。


「クイックアクセスツールバー」に両方が追加されていれば完了です。

2009年9月7日月曜日

Excel ウィンドウ枠の固定

今日の業務で必要になったので、記憶の片隅に残すためにメモ。

Excelで表データを表示する際に、シートをスクロールすると、

このように全体がスクロールされるので、列の情報が分かりづらくなることがあります。
このテストデータはシンプルなので分かりやすいですが、
実際に、数値を複数扱ったりする場合には、常に列を表示したくなります。
そういった時に「ウィンドウ枠の固定」を行います。


上メニュー「表示」タブを開き、
固定したい行/列の、下及び右のセルの選択をしておきます。
今回は列名と社員コードを常に表示したいので、C3:C4となります。
その状態で、「ウィンドウ枠の固定」内の「ウィンドウ枠の固定」を選択すると、

選択しておいたセルの上/左を基準とした枠固定が行われ、
スクロールしても常に表示されるようになります。
解除する場合には、「ウィンドウ枠の固定」内の「ウィンドウ枠固定の解除」を選択します。

なお、学校ではExcel2003で行いましたが、方法はほぼ同じでした。