カテゴリー: 技術系

  • VBで定数宣言などの部分を折りたためるようにまとめる方法

    VBでコードを書いているとコードの冒頭に定数宣言などを多数書く。
    これが長くなってしまうとソースコードの可読性が下がってしまう。
    定数宣言などが長くなる場合には、#Region ディレクティブ / #End Region ディレクティブ を使用し読みやすくする。

    #Region ディレクティブを使用することで、Visual Studioのコードのアウトライン機能で 展開や折り畳みができるようになる。

    ■使い方

    Public Class DefaultClass
    
    #Region "定数宣言"
       Private Const ACTIVE_FLAG = 1
       Private Const NONACTIVE_FLAG = 0
       Private Const TAX = 0.05
    #End Region
    
  • Windowsの日本語入力モードで大量の数字を入力すると、最初のほうが自動的に半角に変換されてしまう事象について

    Windowsの日本語入力モードで、メモ帳やブラウザのテキストボックスで大量の数字を入力すると、 変換をしていないのに勝手に半角の数字として確定されていることがある。 全角の数字を大量に入れたいというときに、これは困ってしまう。 (アプリのテスト以外にそんな場面はないと思うけど) また、PCをかえてみると、半角では全角の数字で確定されていることもある。 数字だけでなく、アルファベットでも発生する。

    この不可解で気持ち悪いな現象は、WindowsのIMEの設定によるものだ。

    Windowsに標準搭載されているMS-IMEでは、仕様として未変換の文字列が長くなると、自動変換するようになっている。 この自動変換が勝手に半角の数字に変換されている原因。 MS-IMEでは、自動変換時に変換候補の1つ目に変換するようになっている。 数字を普段から、半角数字に変換している場合、変換の1つ目が半角数字なので、 大量の数字を入力した際に自動変換で半角に変換されている。 もし、普段から全角数字を使っている場合は、全角数字に自動変換される。

       日本語入力モードで大量の文字を入力する
          ↓
       MS-IMEの自動変換の閾値を超える
          ↓
       変換候補の1つ目に自動変換される
          ↓
       この間もユーザは入力が続けられる
    

    MS-IMEの設定で、自動変換の長さは変えられるのだが、「短め」と「長め」の2つしかなく、 何文字で変換されるかの設定はできない。 通常は「長め」に設定されているため、ほとんどの場合、効果はいまひとつだ。

    あきらめて、ある程度の長さで変換/決定をするか、1つ目の候補を自分で変えておく方がよいだろう。

    ■参考
    自動的に変換する未変換文字列の長さを変える
    http://office.microsoft.com/ja-jp/support/HA010102742.aspx

  • TracLightningでアクセス権があるのにもかかわらず、アクセスするとアクセス権がないと表示されるようになった場合

    Windows のTrac(TracLightning)を長く使っていると、
    ある日突然今までアクセス権のあったページがアクセス権がないといわれる。
    ブラウザで何回か再読み込みを行うと、普通にアクセスできることもある。

    アクセス権まわりの処理がなんとも不安定な状態にTracが陥った。
    念のため、アクセス権の有無も調べてみたが問題なし。
    いろいろと調べていくと、Tracのログが肥大化し、100MB以上になっていることを発見。

    ログが原因とも思えなかったのだが、念のためログの名前をかえて、ログファイルを新しくしてみた。
    ログを新しくした後は、アクセス権も正常に戻った。

    ログファイルの切り替え時にTracのプロセスの再起動をしているのも関係あるかもしれない。
    しかし、Tracの再起動だけだとアクセス権は安定しなかったので、ログは関係しているかも。

    ■ログの場所

     C:\TracLight\projects\trac\プロジェクト名\log
    

     

  • Excelでデータの入力規則の編集ができない場合の対処

    結論:Excelでブックの共有を行っている場合は、データの入力規則の編集はできない。ブックの共有を解除する。

    ■対処方法

    Excelでデータの入力規則を設定していて、選択できる値を変更したいとする。
    Excel2010だと、入力規則の設定はリボンの「データ」の「データツール」の部分に
    「データの入力規則」がある。そこで設定・編集することができる。

    この「データの入力規則」だが、
    Excelでブックの共有を行っている場合は、データの入力規則の編集はできない。

    その場合は、リボンの「校閲」から「ブックの共有」を選び、
    編集の「複数のユーザーによる同時編集と、ブックの結合を許可する」のチェックを外し、
    OKをクリックする。

    これで、共有が解除され、データの入力規則が設定できるようになる。

    ■おまけ:データの入力規則の設定

    データの入力規則の設定は、

    1. リボンの「データ」→データツールの「データの入力規則」を選択する。
    2. 設定のタブから、「入力値の種類」を選択する。
      もし、ドロップダウンリストから選択させたい場合には、リストを選択し、 「ドロップダウン リストから選択する」のチェックを入れる。
      「元の値」でリストに表示させるセルを選択する。
      セルの値を使わない場合には、カンマ区切りで値を入力する。
    3. OKをクリックする

    これで設定は終了。

  • VBで全角のダブルクォートを表示・指定する方法

    VBで全角のダブルクォート”を入力しようとすると、
    半角のダブルクォートに 自動変換されてしまう。
    VBで全角のダブルクォートを指定する場合は、 Chr(&H8168)  のように指定する。

    Chr(&H8168)
    

    半角のダブルクォートの場合は、 ControlChars.Quote と指定する。

  • ASP.NET(VB)でセッション変数を消す方法

    ASP.NETでSessionを使用していると個別に作成したセッション変数
    (例えばSession(“id”)とか)を削除したい場面がある。
    ASP.NETで一度作成したSession変数を削除するには、Removeメソッドを使用する。

    ■使い方

     Session.Remove("セッション変数名") 

    Removeメソッドに個別のセッション変数を指定することで必要のないものを削除できる。
    ちなみに、

     Session("セッション変数名") = Nothing

    だと、セッション変数の中身がなくなるだけで、セッション変数は残り続ける。
    セッション変数がある状態の場合、サーバ側のリソースが消費されている状態のため、
    使わなくなったセッション変数はRemoveメソッドで破棄することが望ましい。

    また、すべてのセッション変数を消す(破棄する)には、RemoveAllメソッドを使用する。

    ■使い方

     Session.RemoveAll()

    これでまとめて破棄することができる。
    ただし、自分が意図しないセッション変数も削除されてしまうため、使用する場合には
    他への影響がないか確認しておく必要がある。

    ■例)

     'Session変数を新しく作る
     Session("userName") = "CharAznable"
     
     'Session変数を破棄する
     Session.Remove("userName")
    
  • ntext型、text型、image型は将来SQL Serverで廃止予定

    ntext型、text型、image型は将来のSQL Serverでは廃止のなので、
    同じ機能を持った別 の型に変更(変換)する必要がある。
    DBのテーブルはテーブル定義を変えたり、データ 移行を行えばよい。

    システム(ASP.NETで作ったアプリとか)で型指定している箇所がある場合、
    テーブル定義 を変えてしまうと動作しなくなる。
    そのため、システムの改修が必要。

    ちなみに、SQL Server 2012では使える。
    次のバージョンでの廃止勧告でのないので、 まだ余裕で使える。
    システム改修のないまま簡単に数年は経過は禁物。
    (こういうのってタイミングの問題だったりするので・・・)

    古い型 新しい型
    ntext型  →  nvarchar(max)
    text型  →  varchar(max)
    image型  →  varbinary(max)

    ■参考URL
    http://msdn.microsoft.com/ja-jp/library/ms187993.aspx
    http://msdn.microsoft.com/ja-jp/library/ms143729.aspx

    ■おまけ:廃止された機能
    2008 R2で廃止 http://msdn.microsoft.com/ja-jp/library/ms144262.aspx
    2012で廃止 http://technet.microsoft.com/ja-jp/library/ms144262(v=sql.110).aspx

  • Windows 7 でデスクトップのアイコンサイズを小さくする方法

    如何にWindows7に興味が使いこなしてないか・・・
    が分かる初歩的なTIPS。

    コントロールパネルとか、個人設定とかをフラフラを探して見つからなかったので、
    時間の無駄にならないように載せておく。

    1. デスクトップで右クリックし
    2. 表示から、小アイコンを選択する
    3. これでアイコンが小さくなる

    他のアイコンサイズを選べば、大きくなったり、もとに戻したりできる。
    (最初のサイズは、中アイコン。)

  • Windows 7 でスクリーンキャプチャを撮ったときにウィンドウが透けないようにしたい

    Windows 7でスクリーンキャプチャ(画面キャプチャ)を撮っていると
    ウィンドウが透けて下の文字やアイコンが透けた状態になってしまう。
    個人利用だと許容できなくもないが、ちょっとカッコ悪い。
    そんなウィンドウが透けないようにキャプチャを撮る方法を探してみた。

    別のスクリーンキャプチャ用のツールをインストールすれば、
    ウィンドウが透けない状態で撮れるようだ。
    ただし、ツールによるようだ。

    利用頻度は低いので、別のツールを入れるとかは避けたい。
    なるべくなら、Windowsの設定で何とかしたい。
    そんなわけで、Windows 7でウィンドウの透過をさせないようにする。

    ■設定方法

    1. デスクトップを右クリックし、個人設定をクリックする
    2. テーマの設定画面になるので、下部にある「ウィンドウの色」をクリックする
    3. ウィンドウの色を選択する画面になるので、中段くらいにある「透明感を有効にする(N)」のチェックを外す
    4. 変更保存をクリックする


    これでウィンドウの透過が行われなくなる。
    この状態でスクリーンキャプチャを撮ればよい。
    透過に戻したいときは、「透明感~」のチェックを入れて保存すればよい。

  • Gmailの宛先候補から、古くて送信しないアドレスを消す方法

    Gmailには、一度メールを送信した宛先やCcに入っている宛先を補完してくれる宛先候補の機能がある。この宛先候補だが、使い始めのころは送り忘れを防いでくれたり、入力する手間を省いてくれるいい機能だ。使っていくうちに、メールを送らなくなった相手のアドレスも表示されてしまい、紛らわしいということはないだろうか。

    宛先補完の仕組み。

    Gmailは、一度でもメールを送ったことのあるアドレスをアドレス帳に自動登録している。メールの宛先に入力する際には、このアドレス帳を参照して、宛先を補完または候補として示している。アドレスの組み合わせについては、アドレス帳とは別のところで管理している模様。

    本題の宛先の候補から消す方法

    1. Gmailから連絡先を開く。上部のメニューに連絡が先があるので、それをクリックする
    2. 「よく連絡をとる人」または「その他の連絡先」から、メールを送信しない相手を探す。
    3. 左側のチェックボックスにチェックを入れて、上の連絡先メニューの「その他」から「連絡先を削除」を選択する。

    Gmailからログアウトし、ログインし直すとGmailに反映される。ちなみに連絡先の自動登録が嫌な人は、Gmailの設定の「全般」にある「連絡先を作成してオートコンプリートを利用」の項目を「手動で連絡先を追加する」にチェックを入れて 保存することで、OFFにできる。