2006/08/24

SQL Server メモ

ALTER TABLE で AFTER は使えない
 MySQLやPostgresでは「ALTER TABLE tablename columnname(attribute) AFTER columnname」が使えるが、SQL Server では AFTER句の構文が使えない。DB上の位置など関係ないだろってな解釈ですな。

(Created:2006.08.24)

| | コメント (0) | トラックバック (0)

2006/07/04

Excel メモ

見えてるセルだけ選択
 オートフィルタとか、集計とかを適用し、いくつかのセルが隠れている状態のシートで、セルを範囲選択してコピーして、別の場所に貼り付けると、隠れていたセルも貼り付けられてしまう。機能的には「その通り」なのだが、やっぱ見た目で意図したとおりに動作してほしいよねえ…。この場合は、「可視のセルだけを選択」してからコピーすればOK。

   メニュー:「編集」-「ジャンプ」-「セル選択」-「可視セル」-「OK」
 キーボード:[Alt]E,G,S,Y,[Enter]

(Added:2006.07.04)

値を貼り付ける
 計算式が仕込まれたセルをコピーして、別の場所に”表示されている結果だけ”を貼り付ける場合は、「形式を選択して貼り付け」という機能を使う。

   メニュー:「編集」-「形式を選択して貼り付け」-「値」-「OK」
 キーボード:[Alt]E,S,V,[Enter]

(Added:2006.07.04)

シート名を取得する
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)

(Added:2006.05.19)

値の入ってるセルだけ範囲を選択する
Range( "A1" ).Select
Range( Selection, ActiveCell.SpecialCells( xlLastCell )).Select

 「マクロの記録」を使ってやったら Excel 君が模範解答を出してくれた例。
 ちなみに、「シート内で『使われている』セルの範囲」だと…

ActiveSheet.UsedRange.Select

(Added:2006.04.28/Updated:2006.05.22)

数式バーの憂鬱
 数式バーの存在意義は、アクティブセルの中身を表示してくれることに集約される。たくさんのデータが羅列されている表の中を、カーソルキーを使ってカーソルを走らせているときに、今のカーソルの位置とか、そこにあるデータがなんなのかを瞬間的に”見る”。それだけ。ほとんどのケースで、数式バーを使って編集したり、数式バーの持つ”それ以外の機能”を利用したりすることはない。

 その”見る”機能も、ときとして非常に邪魔になるときがある。セル内の文字数が多かったり、セル内で文字列を追り返して表示させたりしているときだ。カーソルをそのようなセルに当てた瞬間、数式バーの表示が”びろーん”と伸びて、セルに覆いかぶさってしまって見えなくなるのだ。これが結構わずらわしい。

 Excel のオプションとして「ツール」-「オプション」-「表示」-「数式バーを勝手に広げない」なんてのを追加してくれないだろうか。
(Added:2006.02.10)

メニューの省略表示はうっとおしい
 いつの間にかスタートメニューも Excel も、デフォルトでメニューが簡略表示されるようになっちゃってるんですけど…。

解除方法は「ツール」-「ユーザー設定」-「オプション」-「常にすべてのメニューを表示する」にチェックを入れる

 この設定の位置にすら(最初は探すのに結構苦労した)悪意を感じるんですけど、なんでこんな分かりにくいところに(しかも分かりにくい表現で)置いてあるんでしょうか。MSはこの機能が本気で便利だと思っているんでしょうか?

 私の場合、作業中に列や行の入れ替えはしょっちゅうあることなので、切り取ってから別の位置に挿入ってのは、ほぼデフォルトで出てきてくれなきゃ困る「メニュー項目」なんですよ。これが簡略表示モードだと、意図したとおりの(手が [Alt]+I, [Enter] と覚えている)動作をしてくれないわけで、これは結構なストレスになるんです。
(Added:2006.02.01)

表の左列は No.
 No. の列は表として作成されるデータには欠かせない要素である。並んでいるデータを順序付けるだけでなく、全部で何件あるのかを間接的に示したり、「データの何件目」といった言い方で目的のデータを見つけやすくしたりといった、資料性を高めるものだからだ。

 ちなみに連番を振るときの私の方法は…
  ・連番を振る範囲のセルを選択してクリア [Del]
  ・最初の3つ(2つでも可)のセルに初期値1,2、3と入力
  ・入力したところを含めて範囲を再び選択し、オートフィル [Alt]E,I,S,F
(Created:2005.12.16)

| | コメント (2) | トラックバック (0)

2006/07/03

+Lhaca メモ

Version 1.18 Readme.txt のダイジェスト

§1.はじめに
§2.インストール・アンインストール
§3.基本操作
§4.開発履歴・開発環境
§5.著作権・免責事項
§6.謝辞

§1.はじめに
(略)

§2.インストール・アンインストール

  インストール: Lhaca118.exeファイルを実行
アンインストール: コントロールパネルの「アプリケーションの追加と削除」から削除
         ショートカットが削除され、関連付けも戻される。

§3.基本操作

       圧縮・解凍: +Lhacaのアイコンにドロップする(ドロップ数の制限に注意)。
          解凍: 関連づいた圧縮ファイルをダブルクリック
自己解凍形式で圧縮: SHIFTキーを押しながらドロップ
   分割圧縮(1.2MB): ALTキーを押しながらドロップ
自己解凍+分割圧縮: ALTキーとSHIFTキーを同時に押しながらドロップ
      リスト表示1: CTRLキーを押しながらドロップ
      リスト表示2: SHIFTキーを押しながらダブルクリック(LZHとZIPのみ)

+Lhacaウィンドウでできる設定の内容

 ・ファイルの出力先
 ・関連付けの変更(TGZ=TAR, GZ, Z, BZ2, TGZ, TAZ, TBZ, JAR)
 ・上級者用設定メニュー(リスト表示から)
 ・・圧縮率、ZIPパスワード、分割サイズ、関連付けでアイコン変更
 ・・ドラッグ&ドロップまたはダブルクリックしたときの動作変更
 ・・解凍先や圧縮先をあらかじめ登録しておく
 ・・右クリックで圧縮解凍

作者のウェブサイト http://sapporo.cool.ne.jp/murayama/Lhaca/

§4.開発履歴・開発環境
(略)

§5.著作権・免責事項

              著作権: 村山富男氏
    ZIP関連コードの著作権: InfoZip
   libbzip2ライブラリの著作権: Julian R Seward氏
    CABライブラリの著作権: Microsoft社
LHA圧縮技術の元々の著作権: 吉崎栄泰氏
    CAB圧縮技術の著作権: Microsoft社
    ARJ圧縮技術の著作権: ARJ Software社
    RAR圧縮技術の著作権: Eugene Roshal氏

§6.謝辞
(略)

| | コメント (0) | トラックバック (0)

2006/06/02

Windows メモ

最近使ったファイル
 思い出したときに使うようなレアな機能「最近使ったファイル」。これって、「最近使った順」ではなく、「アルファベット(五十音)順」に表示されるのね…。「意味ないじゃん!」と叫びたくなってしまった。
(Added:2006.06.02)

移動よりもコピーがいいみたい
 経験上、リムーバブルストレージ(もしくはネットワーク)を使って大容量のファイル群を移動させるときは、「移動」の1手順ではなく、「コピー」してから元のファイル群を「削除」の手順を踏んだほうが良い。

 何らかの理由で途中で失敗したときに、たいていの場合やり直しが難しい(消失したデータがないか確認するのが面倒くさい)、すなわちリスクが高いというのが第1の理由。

 そして、その”何らかの理由で途中で失敗”というケースが、「コピー」よりも「移動」で起きやすい。というのが第2の理由。
(Added:2006.03.20)

エクスプローラ/コンテキストメニューの[新規作成]メニューをカスタマイズする
参考:http://www.atmarkit.co.jp/fwin2k/win2ktips/282filenew/filenew.html

1.「HKEY_CLASSES_ROOT」以下の「.」で始まる拡張子に対する設定に「ShellNew」というキーを新規作成。
2.キーの下に「NullFile」(文字列値)を新規作成。この状態でエクスプローラの[新規作成]メニューを実行したとき、空ファイルが新規作成される。
3.テンプレートファイルを新規作成させる場合には、テンプレートフォルダにファイルを置いておく。
 「%USERPROFILE%\Templates」
  NT系:C:\Documents and Settings\<ユーザー名>\Templates
  Win9x系:C:\WINDOWS\ShellNew
4.「ShellNew」キーの下に、「FileName」(文字列値)を新規作成。テンプレートファイル名(パスは含まず)を設定。
5.新規作成のメニューを削除する場合、「ShellNew」キーを削除。
(Updated:2006.03.07)

デフォルト管理共有を解除する
 WinNT/2000/XP は全ドライブのルートに管理共有(C$とか)が設定されており、管理者名とパスワードがあればリモートで操作できる。逆に言うと危険なので、これを解除することも一計(XPHome は標準で設定されてない)。

HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \LanmanServer \Parameters 以下に
 [DWORD 値] で AutoShareServer (Serverの場合)/ AutoShareWks (Wksの場合)を作成し、0を設定

 ※XPPro で解除した場合、オフラインフォルダ機能が正しく動作しなくなり、再度有効化しても回復しないとか…。
(Added:2006.03.02)

Windows Server 2003 の互換モード
 アプリケーションの EXE ファイルの「プロパティ」-「互換モード」で設定。
 マニュアルとか見ずに調べてて、見つけたときは拍子抜け。
(Added:2006.01.10)

メモ
 *-IDE-MAR-U-=-4000-Y-E-N とりあえずプラス思考で。

右クリックで ocx の登録/解除
参考URL:http://homepage1.nifty.com/masawat/sen_html/pcregist.html

1.HKEY_CLASS_ROOT\ocxfile を開き、新規キーとして「shell」を作成。
2.「shell」の下に「regist」と「unregist」の二つのキーを作成。
3.作成したキーのそれぞれの下に「command」キーを作成。
4.「command」を開き、(既定)の値を「regsvr32 "%1"」(unregist は「regsvr32 /u "%1"」)とする。
(Updated:2005.12.20)

Win95->Win98SE へのアップグレード
 セットアッププログラム起動後に「すでにオペレーティングシステムが導入されているコンピューターにはセットアップできません」とかなんとかのエラーが出て、それ以上進まなくなってしまう。
 ”セットアップ”、”SU0168” でぐぐると、対処法が見つかった。んで、主に以下の2通りがある。

(1)95->98SE のダイレクトではなく、Win98(無印)のセットアップからやる。
(2)C:\Windows\ の win.com と winver.exe を適当に改名する。

 (1)なんて面倒なんで、(2)で解決した。
(Added:2004.11.27)

WindowsXP SP2
 巷ではSP2の話題でもちきり(か?)のXPですが…

今日現在、私のPC環境とはまったくご縁がございません。

 先日ヤフオクにて Dell のスタンダードマシンを購入いたしまして、それがXPが標準で載るやつでして、ついでにXP(←Dell マシン専用)のCD-ROMもヤフオクでGETしたんですが…

 PC購入からXP購入までのわずかなタイムラグのあいだに、おNEWなPCには98SEをインストールいたしまして、私の現在の環境からのデータ、アプリケーションうんぬんを移行しておいたのです。

 しかし、届いた(Dell マシン専用)XPは…

クリーンインストールしかできない

 というシロモノであったのです。そう、せっかく移行したデータうんぬんが丸々消えてしまうという運命。。。98SEに上書きインストールすれば済むと思っていた私がバカでした。結局、XPのCD-ROMは現在も未開封なままです。
(Added:2004.11.01)

| | コメント (0) | トラックバック (0)

2006/05/23

VBメモ

グローバル変数
 標準モジュール(*.bas) で Public 宣言した変数は、そのプロジェクトのどこからでもアクセスできる。
 フォームモジュールで Public 宣言しても、クローズ(Unload)してしまうと意味なし。
(Added:2006.05.23)

DLLが参照不可になったとき
 バイナリ互換で参照しているDLLとの依存関係が崩れて「参照不可」になった場合、該当のDLLは一度 regsvr32 -u でレジストリから削除→ regsvr32 で再登録し、なおかつ参照している vbp でいったん参照をはずし(チェックマークをOFF)、保存して開きなおしてから、参照を再設定する。

 くどい操作になるが、VBがどこかで「参照不可」をキャッシュしているっぽい。
(Updated:2006.01.04)

DLLのレイトバインド
(参照URL:http://www7.big.or.jp/~pinball/discus/vb/58671.html)

 VBで ANYDLL の AnyObj オブジェクトを使う場合…

Dim X As ANYDLL.AnyObj
Set X = New ANYDLL.AnyObj

 このとき VB は AnyObj オブジェクト固有の CLSID値を頼りにしてレジストリを検索し、これを含むDLLへの参照を認識する。CLSID は HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-000000000000} というフォーマットでレジストリに登録されており、その配下に ANYDLL への参照が登録されている。

 レイトバインドで AnyObj を使う場合…

Dim X As Object
Set X = CreateObject("ANYDLL.AnyObj")

 このとき VB は CreateObject で指定した引数 ProgId を頼りにしてレジストリを検索し、これを含むDLLへの参照を認識する。ProgId は、HKEY_CLASSES_ROOT\ANYDLL.AnyObj\CLSID というフォーマットでレジストリに登録されており、その配下にDLLへの参照、および CLSID が登録されている。

 CLSID は DLL のバージョン番号を含んでいるので、変化しやすい。このためバイナリ互換での依存関係が崩れやすい。CreateObject による参照であれば ProgId が変化しない限り依存関係が崩れることはない。
(Created:2005.12.21)

| | コメント (0) | トラックバック (0)

2006/03/07

CDに関するメモ

発売からレンタル開始までの期間
 ・邦楽シングル…発売日当日(浜崎とか1~2週間後だったりもあり)
 ・邦楽アルバム…発売から2~3週間後
 ・洋楽…発売から1年(avex系とかそれより短い場合もあり)
 ・インディーズ…基本的にレンタルなし

 レコードメーカーには発売日から最長1年間レンタルを許諾しない権利(著作権法で貸与権という)が認められており、海外レコードメーカーはそのレンタル禁止期間を最長に設定している。邦楽の場合は基本的にアルバムで三週間、シングルは当日。
(Created:2006.03.07)

| | コメント (2) | トラックバック (0)

2006/01/10

秀丸メモ

行をソートする

 ソートしたい範囲を選択しておいて、「その他」→「プログラム実行」で「sort < con > con」を入力し、[OK] 。Win9x 系では 64KB までしかソートできない。

| | コメント (0) | トラックバック (0)