goo blog サービス終了のお知らせ 

雑記帳

日常の出来事や、読んだ本のあらすじや感想など書いています。

コマンドプロンプト画面の箱型切り取り、貼り付け

2007-06-15 21:58:43 | コンピュータ
コマンドプロンプトを知っていますか?
「スタート」-「すべてのプログラム」-「アクセサリー」
-「コマンドプロンプト」
で表示します。
初期のパソコンはこの画面しかなかったのです。
今だってコマンドプロンプトは活躍しています。

有名なソフトを販売している商社のSEがやって
きて、私がこの画面で作業しているのを見て
「コマンドプロンプトはこうやって使うのですか、
始めて知りました。」
と言ったのにはびっくりしました。
SEでありながら知らないということにまず驚き
ましたが、コマンドプロンプトなしで仕事をして
いるのだということに、それ以上に驚きました。

コマンドプロンプトがなかったら仕事の能率が
格段に落ちます。
なぜ楽な方法で作業しないんだろう???


今日、コマンドプロンプトの画面に表示されて
いる文字を箱型に切り取りたいなぁと思いました。
たとえば下の文字列の 5 の部分だけ切り取りたい
という場合です。

2222222222222222222222
2222255555555555522222
2222255555555555522222
2222255555555555522222
2222222222222222222222


なにげなく5の部分の左上をクリックしそのまま
右下まで四角で囲ってコマンドプロンプトの一番
左上のマークを右クリックしてプルダウンメニュー
のコピーで切り取りました。
メモ帳に貼り付けたら箱型切り取り、貼り付けが
出来てしまいました。

へぇ、出来るんだとびっくりです。
MIFES(マイフェース)というエディターでこの
機能は実現できます。私はそれを使っているので
いままでコマンドプロンプトで切り取ろうとは
思わなかったのですが、知っていればすぐに
切り取れて便利です。

望んでいる出力が出ない

2007-06-14 18:26:12 | コンピュータ
ユーザから出力結果がおかしいと電話が
掛ってきました。
話を聞いていてもどうも言われていることが
理解できません。
でも相槌を打ちながら聞いていました。

ユーザの所へ行って結果を見せてもらった方が
いいかなと思いました。
しばらく状況を話されてから、気が付いたように
「これはもしかしてプログラムの問題じゃなくて、
データの入力ミスかもしれないね。入力した人に
聞いてみます。」
といって電話は切れました。

大型コンピュータの時代は設計者が自ら
プログラムを作成していました。
デバッグ中のユーザに、ここはこうならなきゃ
いけないのにならない、どうしてだろうと
よく話かけられました。

「分からなくてもただふん、ふんと言って聞いて
いればいいんだよ。話しているうちに自分で
どこがおかしいのか気が付くもんだから。
それに自分の間違いはなかなか気が付かない
ものだが人の間違いはよくわかるもんだ。」
と先輩が教えてくれました。

今回もそうならいいんだけど。
解決したのだろうか。
解決してなくて、もういいや、手作業で直して
おこうと思われたならちょっと悲しい。

AutoCAD

2007-06-06 19:09:52 | コンピュータ
AutoCADは嫌いだ。
複雑怪奇で魑魅魍魎が現れそうなソフトです。
こう書くとAutoCADを使っている人たちからは
蔑みの目で見られます。
"文句いってる暇に慣れてしまえ"というのが
AutoCAD使いの人が言う意見です。

でも違う。
どうしようもないソフトはどうしようもないと
高らかに言うべきです。
他のソフトを使っている者からしたらどうして
こんなものが世の中にのさばっているのだと
言いたくなります。

慣れたら確かにこんなもんだと馴染んでしまう
でしょう。
馴染むのはいい、でもおかしいという感覚を
忘れてしまってはだめです。

私はおかしいという感覚を失くさない。
その上でAutoCADを解読してみたい。

全日空のトラブル

2007-05-28 21:57:21 | コンピュータ
全日空の国内線予約・発見システムのトラブルで
130便が欠航したそうです。
今日の国内便の役半数だそうです。

ここまでコンピュータが生活に入り込んでいる
とはね。
何か嫌になるなぁ。
コンピュータが故障したらすぐ手作業に切り替え
られるよう手順が決められていると思っていました。
でももうコンピュータなしでは世の中動いていか
ないんですね。
コンピュータに関わって生きているのだけど
コンピュータに支配されているみたいに感じる
このごろです。

PLC(電力線通信)について

2007-05-27 19:51:23 | コンピュータ
PLC(電力線通信)について07/09/12に書きました。
現在家の中だけで使用することができるそうです。
PLCとはLANケーブルのかわりに家の中に設置されて
いる電気線を通信のために利用しようというものです。
LANケーブルを家の中に引き回すのはたいへんです。

PLCアダプターは親機と子機のセットで使います。
親機をLANのモデムと繋ぎ、コンセントとも繋ぎます。
子機はコンセントと繋ぎます。パソコンはこの
子機に繋ぎます。
データはモデム-親機-電力線-子機-パソコンと
流れて行きます。

販売しているところのホームページで見ると
設定は何もしなくてもいいようです。
無線LANは設定が難しく、盗聴されるということでも
問題視されていますが、PLCはだいじょうぶそうです。

いいことずぐめではありません。天文学やアマチュア
無線の関係者は電波のもれを心配して反対しています。

使ってみたいです。
別の部屋にパソコンを移動したいのですがLANケーブル
をどうしようかとなって、止めておこうということに
なります。
PLCアダプターを使えば解決できそうです。
うまく通信ができるのか、スピードはどうなるのか
やってみないとわからない心配なところはあります。

それと電話とプリンタはどうするかです。
電話,FAX,プリンタが一体となった複合機を
使っていますので電話を生かすとプリンタと
パソコンは泣き別れです。

どうしても移動したいというわけではないので
うまくいく方法をゆっくり考えることにします。

アップデート後のトラブル

2007-05-24 22:23:58 | コンピュータ
昨日はシャットダウン時にアップデート
プログラムが走りました。
その後自動的に電源は落ちるはずでした。
数時間後にパソコンの所へ戻ったら画面は暗く
なっていましたが電源は落ちていませんでした。

悪い予感がしました。思ったとおりパソコンの
調子がおかしくなっています。
インターネットエクスプローラを触ると固まって
何もできなくなります。
まいったなぁ。外部と接触できなければメールで
問い合わせることもできません。

何度も電源を入れ、立ち上げ様子を見て電源を
落としを繰り返しました。

そのうちどうしたわけか直りました。
アップデートがうまく終了してなかったのでしょう。
パソコンが自分で直したようです。(そんな感じを
うけました。)

やれやれです。


会社の機関紙からの書き写しです。
おかしかったので。

「フォローアップは早めに!ギリギリでは意味なし!!」

「ギブアップも早めに!ギリギリではリカバリーも
難しい!!」

前のが何か頼んだ人に、後のが頼まれた人に向けた
メッセージです。
原稿を頼んだ人が締め切り当日書けないと言ってきて
しょうがないので自分で原稿を書いてる人の言葉です。

BASIC 配列を引数として渡すには

2007-05-21 20:51:04 | コンピュータ
[問題] 配列をサブルーチンの引数にするには。

モジュール レベル変数とか,パブリック変数とかで
宣言して使い、引数で渡して使ったことがなく
はたしてできるのかと思いましたができるようです。
こんな感じです。
Function SetArray()
   Dim i As Integer
   Dim sArray(10) As String
   For i = 1 To 10
      sArray(i) = "Test : " & i
   Next i
   DispArray sArray()
End Function
'---------------------------------
Sub DispArray(sArray() As String)
  Dim i As Integer
  For i = 1 To UBound(sArray)
      MsgBox sArray(i)
   Next i
End Sub

2次元の配列はこれでどうでしょう。

Function LoadArray()
   Dim i As Integer, j As Integer
   Dim sArray(3, 3) As String
   For i = 1 To 3
     For j = 1 To 3
       sArray(i, j) = "Test: i=" & i & " j=" & j
     Next j
   Next i
   DispArray sArray()
End Function
'---------------------------------
Sub DispArray(sArray() As String)
   Dim i As Integer, j As Integer
   For i = 1 To UBound(sArray, 1)
     For j = 1 To UBound(sArray, 2)
      MsgBox sArray(i, j)
     Next j
   Next i
End Sub

NETBEUI のインストール方法

2007-05-18 23:24:48 | コンピュータ
WINDOWS XP に NetBEUI をインストールする方法を
書いておきます。

LANのプロトコルのNETBEUI(ネットビューウイと読みます)は
過去の物となりつつあるようです。
Windows XPではNetBEUIはサポート外となり、デフォルトでは
インストールされないばかりか、インストールしようとしても
プロトコルの一覧にも表示されません。

でもMICRO CADAMはこのNETBEUIを使ってサーバ、クライアント
間の通信を行います。
まだ必要なプロトコルです。

インストールするには次のようにします。

NetBEUIプロトコルは、Windows XPのインストール
CD-ROM中の\VALUEADD\MSFT\NET\NETBEUI」フォルダに
あります。
2つのファイルをそれぞれの場所へコピーします。
NETNBF.INF → %SystemRoot%\INF\
NBF.SYS → %SystemRoot%\System32\Drivers\
(%SystemRootは C:\WINDOWS とか C:\WINNT とかの
ことです。)

「コントロールパネル」「ネットワーク接続」「ローカルエリア接続」
右クリック「プロパティ」「全般」「インストール」「プロトコル」で
NETBEUIを選択します。

ドット抜け

2007-05-13 08:56:02 | コンピュータ
会社で使っている液晶ディスプレィの一台に
ドット抜けがあります。
数ヶ月前に購入したものです。
そのディスプレィを接続しているパソコンは
常時動いていますが、ディスプレィを見ることは
たまです。
ですので1点ドット抜けがあっても特に不自由と
いうことはありません。

これが1日中使っているものなら気になって
しょうがないでしょう。
まして自宅の個人のものなら腹を立てると思います。

街の電気屋さんのパソコン売り場には"ディスプレィに
ドット抜けがあってもそれはしょうがないことです。"
と堂々と表示してあります。
会社でそういうのに出会ってしょうがないことなの
かと思っていました。

仕事仲間がたまたまそれを見ました、
「こんなの取り替えてもらわなくちゃ。」
「取り替えてくれるの?」
「当然取り替えてくれるよ。」

これは世の中全般のことか、会社と納入している
会社との付き合いでやってくれるのかはわかりません。
でも、そうか不満があったらとにかく交渉してみなく
ちゃと思った出来事でした。

CDの構造について

2007-05-10 20:59:29 | コンピュータ
CDを破棄する時はどうするかということが、
ある掲示板で話題になっていました。
その中でCDの構造について述べられていました。

Wikipediaによると
「上から印刷層、保護層、反射・記録層、樹脂層で、
記録層の部分は印刷面から0.1mm(樹脂層から1.1mm)の
所にある。その為、印刷面からの衝撃に弱く、鉛筆や
ボールペン等、フェルト以外の油性マーカーで記入を
行うと記録層にダメージが加わり、.......」

記録層が印刷層から0.1mmのところだそうです。
へぇ、印刷面側からの衝撃に弱いのだ。
知らなかった。
ずっと裏側の方だと思っていました。
落とした時は印刷面が下側になっていたらよかったと
思ったものですが、これじゃ反対です。
裏側もこちら側から読むわけですから傷が付いたら
読めなくなるかもしれません。
どっちも大切というわけですね。

印刷面に書き込みをしたり、テプラでラベルを作って
貼り付けたりしています。
今の所読めなくなったCDはありません。
でもよくないことをしているわけです。

最初に戻ってCDを捨てる時にどうやってデータを
読まれないように壊すかですが、私はカッターで
傷を数本付けます。
それ以上壊すのは、飛び散りそうで危ないので
やりません。
今まで裏側に傷を付けていましたが印刷面からの
方が近いわけですから印刷面から傷を付けた方が
いいということなんですね。
これほんと?

追記:
今日の新聞にCDを切るはさみが発売されていると
記載されています。 '07/05/12

届かないメール

2007-05-08 21:06:06 | コンピュータ
昨日ある人にメールでデータを送信することに
なっていました。
朝一番で送信しました。
10時ごろその人からデータを送信してくださいと
メールがきました。
すでに送った人にも、送ってない人にも全員に
同報メールを送信したのだと思いました。
私は送ったのだからと、無視しました。

しばらくしてその人から電話が掛かってきました。
「データ送ってくれました?」
ちょっと不満げな声でした。
「朝一で送りました。」
「届いてません。もう一度送ってください。」

再度送りました。
またしばらくして電話で届かないと連絡がありました。
メールの担当者に問い合わせました。
「今日は届かないという人が何人かいます。原因がわかり
ません。」
ということでした。
11時ごろ再度送信してすぐ電話で「届いた?」と
確認しました。
「あっ、届いた。」
原因はわからないけど、届いたのだからいいね、と
いうことになりました。


今日の朝届いていたメールがありました。
我々の上のシステム部門からです。
「昨日はトラブルで11時以前に出したメールで
先方に届いていないものがあります。
先方に確認して届いていなかったら再送してください。」

そうなら昨日の内に連絡してくれたらいいのにと
みんなでぶつぶつ。
それでも原因が分かってよかったです。
なんか知らないけど出したメールがどこかへ消えて
いくというのでは不安です。

サイクリング

2007-05-03 18:23:02 | コンピュータ
何日か前のニュースでしまなみ街道を自転車で
走れると言っていました。
レンタル自転車もあるみたいです。
行きたい、走ってみたい。
体力があるうち、興味が持てるうちに行きたいな。
いっしょに行ってくれる人はいそうもないです。
いったいどれぐらい時間がかかるものなんだろう。
暑い時は嫌だし、寒いときも嫌だし。
なんて言っていたら行ける時なくなってしまう。

130円で関東平野ぐるりというのもおもしろそう。
だけどこれはたのしいというよりつらいかも
しれません。
1都6県をぐるりと廻って130円です。
経路は重複しない一筆書きだそうです。
出発地点から途中下車せず 130円で行ける駅に戻って
くればずっと乗り続けられるようです。
若い時だったらやりたいという所だけど今はちょっと
いいです。

EXCEL VBA 1→"A"・・26→"Z"

2007-05-01 18:26:52 | コンピュータ
問題:

 1 → ”A”
 2 → ”B”
 3 → ”C”
 :     :
26 → ”Z”

のような LongをStringに変換する方法

 C言語なら  S = L+0x40;  と簡単にできるのですが・・・



回答:

これでいいと思うけどあっているかな。

  S =CHAR(L +CODE("A")-1)

または直接数字を書いて

  S =CHAR(L +64)

EXCEL VEA イベント

2007-04-30 22:57:14 | コンピュータ
昨日の EXCEL VBA の問題は処理したいことが
クリックしたらではなく,入力がされたら,ということで
また作ってみました。
内容はセルB8に16進数の数字が入力されたらセルF8に
10進数の数字を書き込むというものです。
これです。イベントが発生したらこのルーチンを実行します。
'------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
  If (Target.Address = "$B$8") Then
    Range("F8").Value = Val("&h" & Range("B8").Value)
  End If
End Sub
'------------------------------------------------

こちらが先輩が書いたもの。(勝手にのせてごめんなさい。)
いつもユニークなことを考える方です。
おもしろいです。
マクロのmacsubを走らせると自作の関数macfncをセルF8に
式として書き込んでセルB8 に移動してF8の関数を起動
させるわけです。
'------------------------------------------------
Sub macsub()
  Range("F8").Select
  Selection.HorizontalAlignment = xlRight
  Selection.Formula = "=macfun(B8)"
  Range("B8").Select
End Sub
'------------------------------------------------
Function macfun(hexa As String) As String
  If (hexa = "") Then
     macfun = ""
  Else
     macfun = Trim(Str(Val("&h" & hexa)))
  End If
End Function
'------------------------------------------------

だけど一番簡単なのはセルF8 に直接式を書いてやること。
たったこれだけですみます。

=IF(TRIM(B8)="","",HEX2DEC(B8))

関数を使うのは新入社員の教育用の教材ということが
あります。

普通休みにプログラムのこと考えるなんてことありません。
でも楽しいです。
また別の問題が届いています。

EXCEL VBA あるセルをクリックしたら

2007-04-29 11:45:15 | コンピュータ
昨夜 EXCEL の VBA で あるセルをクリックしたら
マクロが起動するようにするにはどうしたらいい
だろうという話しがでました。

セルをさわればイベントが発生するだろうから
そこに実行させたいマクロを書いたらいいのでは
ということまではなんとなくわかります。
では実際にコードを書けるかと言えば書けません。

気になって今日 EXCEL を立ち上げ HELP や
EXCEL VBA のサイトを探しまくって書いてみました。

ダブルクリックした時用と、右クリックした時用です。

毎日 VBA を書いていればすらすら書けるかもしれませんが
たまに書こうとすると、手が止まって長いこと考え
こんでいます。

'-------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' ダブルクリック
  If (Target.Address = "$C$3") Then
    
    Target.Interior.ColorIndex = 37
    MsgBox "選択したセル番地は " & Target.Address & "水色にします。"
  
  Else
    MsgBox "選択したセル番地は " & Target.Address & "色を変えません。"
  End If
 

End Sub
'-------------------------------------------------
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'右クリック
  
  If (Target.Address = "$B$2") Then
    
    set_color (Target.Address)
      
  Else
    MsgBox "選択したセル番地は " & Target.Address & "色を変えません。"
  End If

End Sub
'-------------------------------------------------
Private Sub set_color(add As String)

  Range(add).Interior.ColorIndex = 38
  MsgBox "選択したセル番地は " & add & "ピンクにします。"

End Sub