アフィリエイト広告を利用しています

2016年05月12日

ワードマクロの作成


ブログはワードで原稿を作っている。

出来上がった原稿はブログの編集画面に

コピー・貼り付けをする。

原稿ではブログの体裁も確認したいので、

画像も挿入する。

しかし原稿からブログに貼り付けた場合、

文字だけしか貼り付かない。

画像は別ルートでアップロードしておく必要がある。

そしてブログの編集画面でその画像を選択し、

挿入されたタグを再利用する。

ブログ編集プログラムにより作成されたタグを

コピー・貼り付けし、画像を特定する

ファイル名だけを正式名に変更する。

だから原稿に画像のファイル名が必要になる。

今まではファイル名と画像は別々に貼り付けていた。

しかし画像が増えるとこの作業が面倒になる。

コピー・貼り付けに使う時間を

原稿の文章を考える時間に割り当てたい。

かくして、ワードマクロの作成に至ったのである。

エクセルのマクロは仕事で結構作ってはいたが、

ワードのマクロは面倒だと言う先入観を持っていた。

だからワードのマクロは作ったことがない。

だが画像を20枚以上文章に挿入しようとすると、

ちょっと躊躇する。

そしてだんだん画像の枚数を調整してくるようになる。

これではいけない、と言うことで自動化を考えてみた。

なぜ面倒だと思っていたのかは実際作ってみると解る。

同じマイクロソフトの

それもOfficeのグループでありながら、

エクセルとは使い方が微妙に違う。

この話はこの位にしておこう。



処理ステップは2つに分かれる。

1つ目は、VBSによりファイル名の一覧表を作成する。

以前投稿したVBSを少し変更した。

2つ目でワードのマクロを起動し、

VBSで作成したファイル名一覧表を読み込み、

ワードにファイル名と画像を挿入する。

画像はフルサイズでは文章が書けないので、

少し縮小する。

以下がVBSとVBAである。






1.VBSによるファイル名の一覧ファイル作成

'==========================================================
'フォルダ内をサーチし、リストアップ
'対象フォルダにこのスクリプトを配置し、スクリプトを実行する
'
'==========================================================
'
'フォルダ名にスペースが入っているとエラーになる
'
Const cOutFiNa = "FolderList2.txt" '出力ファイル名
dim FS
dim xMyPath

set FS=CreateObject("Scripting.FileSystemObject")
'スクリプトの入っているフォルダ名を取得
xMyPath=Replace(WScript.ScriptFullName, WScript.ScriptName, vbNullString)
if right(xMyPath,1)="\" then '右端が"\"の場合、この"\"を削除
xLen=Len(xMyPath)
xMyPath=left(xMyPath,(xLen-1))
end if

Call FileListOutProc(xMyPath,cOutFiNa)

set FSN = Nothing

'--------------------------------------------------
' ファイル名のリストアップ
'--------------------------------------------------
'カンマ区切りで1レコードを出力する

Function FileListOutProc(pSourceFolder,pFileName)
dim objFolder,objFiles
dim objOutFile
dim arr
dim tmp

Set objFolder = FS.GetFolder(pSourceFolder)
Set objFiles = objFolder.Files
Set objOutFile = FS.OpenTextFile(pFileName,2,True)

tmp=""
For Each Fi in objFiles
arr=split(Fi.Name,".")

if ubound(arr)=>1 then
'JPGだけを対象とする
if instr("JPGjpg",arr(1))>0 then
tmp=tmp & Fi.Name & ","
end if
end if
Next
objOutFile.WriteLine tmp
objOutFile.Close

set objOutFile = Nothing
Set objFiles = Nothing
Set objFolder = Nothing

End Function



2,ワードVBAによるファイル名と画像の挿入

Option Explicit

'画像処理
'=========
Sub PicPro()
Call PicInsert
Call PicResize
End Sub

'画像とファイル名の挿入
'======================
Sub PicInsert()
Const infoFileNa = "FolderList2.txt" 'ファイル名一覧ファイル
Dim arr() As String
Dim myPath As String
Dim infoPath As String
Dim x As Integer
Dim tmp As String
Dim xShape As Shape

myPath = ActiveDocument.Path & "\"
infoPath = myPath & "\" & infoFileNa

Open infoPath For Input As #1
Do Until EOF(1)
Line Input #1, tmp
Loop
Close #1

arr = Split(tmp, ",")

For x = 0 To (UBound(arr) - 1)
'ファイル名の挿入
Selection.TypeText Text:=arr(x) & vbCrLf

'画像の挿入
Selection.InlineShapes.AddPicture FileName:= _
myPath & arr(x), LinkToFile:=False, _
SaveWithDocument:=True

'改行
Selection.TypeText vbCrLf & vbCrLf & vbCrLf
Next
Set xShape = Nothing
End Sub

'表示画像の縮小
'===============
Sub PicResize()
Const one_mm = 0.35 '1ポイントのサイズ mm
Dim xIS As InlineShape

'全ての画像を洗い出す
For Each xIS In ActiveDocument.InlineShapes
xIS.LockAspectRatio = msoTrue
xIS.Height = 50 / one_mm '画像の高さを 50mmとした
Next
End Sub






posted by kaz at 02:07 | Comment(0) | TrackBack(0) | コンピュータ

2016年01月20日

Kindle Fire ファイルを消す


 キンドルで本や音楽を購入するとその内容がライブラリに登録される。このライブラリの場所は2種類あり、アマゾンが運営するクラウドのエリアと自分のタブレットの中にあるローカルなエリアがある。クラウドとは、その名の通り「雲」であり、雲を掴むような話でもある。もやもやっとしていて不可解なものであるが、回線で接続するとデータなどが保存できその場所にアクセスできたりする。ハード的な管理はクラウド側でやってくれて、自分はデータそのものを管理するだけで良い。簡単に言えばこのようなことだろう。ローカルとは、自分のタブレットに繫がっている閉塞的な回線網の世界であって、外部の世界を遮断した自分だけのネットワークである。外部とは電話線や無線などで繫がる外の世界、例えばインターネットなどの事である。インターネットは回線を通し全世界が繫がっているネットワークである。
 話を元に戻すと、キンドルに於いてはローカルのライブラリに登録されているものはその端末サイドで削除できる。しかしアマゾンを通して購入したものや無料コンテンツを参照・ダウンロードしたものは、クラウド側に保存され端末からは削除できない。マニュアルのどこかに記載されているのであろうが、削除できず焦ったことがある。いつものようにネット検索で調べて見た。ネット上には親切な人が沢山おり、検索次第で必要な情報が何でも取り出せる。その反面、その量と同じぐらい不必要な情報もあふれている。検索者は賢く利用しなければならない。それで結論から言うと、クラウド側からはファイルを削除できる。クラウド側に入るには、まずアマゾンアカウントにサインインする。アカウントサービスから「コンテンツと端末の管理」へと飛ぶ。コンテンツと端末の管理が表示され、そこにダウンロードしたコンテンツが登録されている。削除したければ該当ファイルにチェックを入れ、削除ボタンを押せば永久的に削除され、以降キンドルには表示されない。なぜ端末側から削除できないのか、多分ユーザーの混乱を回避するために削除できないようにしたのだろう。


Fire タブレット 8GB、ブラック

新品価格
¥8,980から
(2015/12/28 11:48時点)



タグ:キンドル
posted by kaz at 11:11 | Comment(0) | TrackBack(0) | コンピュータ

2015年08月26日

マルウェアに捕まって

 ある日突然、ブラウザが重くなっていた。なかなか画面をスクロールできない。と、突然画面に黄色のボタン状の四角が出てきて、「COMPLEATE」、その前に「LOAD」と出ていた。
 マウスを動かすたびに楽天の商品ウィンドウがいくつも出てくる。消しても消しても、これでもかと言うぐらいウィンドウを出してくる。ブラウザのアドオンやプラグインが怪しいと考え、設定の中から怪しいものを消して見たが、このウインドウは表示を諦めない。ブラウザの設定でポップアップウィンドウをブロックにしているが何の意味もないようだ。ネットでこの症状に対する対策を検索していると、このマルウェアには『広告表示マルウェア』と言う名前が付いていた。
 VirusScanをインストールしてあるがこのマルウェアを防げない。なぜならこのウィルスは広告を表示するだけだから、対策ソフトは普通のソフトと判断してしまうらしい。HTMLのインラインフレーム<iframe>を使えばブラウザのどの位置へも小窓を表示出来る。このブログを書く前に対策を施してしまったので、何がソースに挿入されていたかを確認できないが、確認のためにまた感染する気はない。他に何とかServerとか言うソフトも怪しいと聞いていたので、パソコン上からその名前に関連したものを削除したが効果は無かった。
 対策を探す場合はキーワードが重要だ。しかし、この時のキーワードを忘れてしまった。確か何とかServerだっと思うのだが、このソフトは広告を出しまくるらしい。インストールされた怪しいプラグラムを探そうと「プログラムの追加と削除」を眺めていると、「oursurfing」と言うプログラムがある。インストールした記憶もないしインチキ臭いのでので削除しようと試みるが、キーワードの表示とキーボード入力の画面が出てきて、表示されている文字をそのまま入力してもエラーになり削除処理は先に進まない。
 「oursurfing」でネット検索してみると、これがマルウェアであった。削除するのは至難の業であるようだ。解説された削除の手順を見ながら試して見る。削除をしようとしているマシンの環境は、WindowsXPでブラウザはfirefoxだ。この説明文の中にショートカットを見てみよ、と言う項目がある。自分のブラウザ起動用のショートカットの中身をを見てみると、起動プログラム名の後ろのパラメータの場所に、「oursurfing」の拠点のあるWebの場所を読み込むように指定してあった。
今考えればこのテキストをコピーして置けば良かったが、既に内容削除済みで元に戻すことは出来ないし戻す気もない。
この「oursurfing」マルウェアは起動画面を乗っ取ったり、パソコンの内部設定を書き換えるらしい。
このウィルスを『広告表示マルウェア』とは言ってないが、このパラメータを削除してから広告はいっさい表示されていないから、何らかの関係があったようだ。勝手に広告を表示させ商品購買を勧誘する、と言うことはアフリエイターが悪用しているってことだから、画面のソースを見てみれば誰が悪用しているかが解るはずだ。そこまでして稼ぎたいのか。
こんな場所に勝手に表示された広告を見て購入する人などいるのか。世の中狂っているし、スマホ中毒患者も多いからもしかしたら良い稼ぎになっているのかもしれない。もう少しモラルを持って欲しいものだ。そもそもモラルが存在すればウィルスなど蔓延するはずはないのだが。
 久しぶりに"Program Files"フォルダを見てみたら、知らない名前がずらりと並んでいた。このパソコンは録画と音楽再生専用なのでプログラムのインストールは最近してないのだが、どこから入ってきたのだろうか。何気なく行った音楽エンコーダーやデコーダーにくっついてきたのかもしれない。ダウンロードする時は注意してたはずだが、仕掛ける側も巧妙になっているから英字でも良く読んで行おう。(^^;



あれから何時間も経っていないのに・・・
posted by kaz at 10:58 | Comment(0) | TrackBack(0) | コンピュータ

2015年05月29日

今どき文字化け?


私はレンタルサーバーを借りている。
そのサーバーでWordPressを使ってブログを書いているが、
最近編集後、保存をするとループに入る。
その後はドメイン内のページ全てが接続エラーになる。
接続とはブラウザを使ってhttpで接続すると言うことである。
そのサーバーにはツールとして「ファイルマネージャー」がついているので、そのツールでドメイン内を見てみるとファイルが見えそのファイルにアクセスも出来る。
どうもサーバーの障害ではないようだ。
この現象は前日も起こっていたので、httpサーバーに何か不具合が発生しているのかと、レンタル業者に問い合わせてみる。
その時の問い合わせメールは下記の通り。

「wordpress( http://orange-cat.info/shots/ )を編集していると全てのorange-cat.info配下に接続できなくなる。FTPでの接続はOKです。HTTPが固まる?
以上、よろしくお願いします。」

少し文書が雑過ぎたかもしれないが夜中だったのでこのまま投げた。

翌日回答が来た。

「まことに恐れ入りますが、ご記載の内容から状況が分かりかねる
次第でございます。

お手数ではございますが、詳細をお書き添えの上、再度ご連絡
くださいますようお願い申しあげます。 」

うん?
何も調べてないじゃないか。
専門家だったら多少は推測できるんじゃないの?
誠意がないな。(専門家ではないのかもしれない)

そこで私は次のメールで返信した。

「ログは見たのでしょうか?
ログに何も落ちてなかったのですか?
下記のメールには調べた形跡が全く見当たりません。
予想はしていたものの、甚だ残念です。 」

また、前回の問い合わせメールを詳しく追記した。

「ワードプレスでブログ( http://orange-cat.info/shots/ ) を編集し保存をしたら、
ドメインに接続できなくなった。
http://orange-cat.info/shots/ を実行すると接続エラー。
http://orange-cat.info/ でも接続エラー。(orange-cat.info/index.html)
他もorange-cat.info 内は全て接続エラーが発生する。
ファイルマネージャー で ドメインorange-cat.info の中を参照することは出来た。
と言うことはサーバーに問題はなく、
http接続(アパッチ?)のみ不具合が発生したものと思われる。
クライアント側に問題なし、他のWebは全て参照可。
と言うことで、オウム返しでなくログだけは見て欲しかった。

以上 」

多分このメールは無視されるんだろうなと思っていたが、
帰宅後メールをチェックするとこんなメールが反ってきてた。

「まことに恐れ入りますが、お客様からいただきました
お問い合わせ内容が文字化けをしており、内容の確認が
出来かねる状況でございます。

つきましては、大変お手数でございますが、下記お問い合わせ
フォームより再度お問い合せくださいますようお願い申しあげます。」

えっ!
文字化け?
今時文字化けってあるんだ。
私の使っているメーラーは「サンダーバード Version 31.7.0」である。
自分に転送してみたら文字化けなどしていない。
業者はどんなメーラーを使っているのだろうか。
化石化したブラックジョークか。
昔、通販でこんなメールを繰り返した記憶がある。



プロでしょ?
posted by kaz at 09:29 | Comment(0) | TrackBack(0) | コンピュータ

2015年05月23日

VBS 「ファイル名の変更」

ブログを書いていて一つ面倒な作業がある。
画像が大きいのでサイズダウンしてアップしている訳だが、
サイズダウンしたファイルの名前を変更しておかなければならい。
変更しておかないと後でどれがオリジナルなのか解らなくなる。
そこでひとつひとつ名前を変更するわけだが、
ファイル数が多いと大変だ。
そこでファイル名の変更をVBSで作ってみた。
VBSとは、Visual Basic Script 。
ビジュアルベーシックふうのスクリプトで、簡易に処理が出来る。
昔、DOSコマンドで原始的な作業をバッチ処理していたが、
その作業をスクリプトで行えるのだ。
"FileSystemObject"と言うオブジェクトをよく使うので、
覚えるといいだろう。
下記が処理ソースだ。
コメントにも入れてあるが、出来上がったスクリプトを処理したい
フォルダに配置し実行すればファイル名を変更する。
単一フォルダ内のみの処理なので、下位レベルまで処理したければ
改造が必要となる。
ダイアログを出してフォルダの指定をしても良いのだが、
使用頻度から考えるとそこまでは必要ないと判断した。
コンスタントパラメータ"cFiExt"に処理したいファイルの
拡張子を入れておけば、該当するファイルだけリネームする。
被検査対象を小文字に変換してから判断しているので、
コンスタントは小文字で設定する。
結果をMsgBoxで表示しているが、MsgBoxにも表示制限があって、
文字数は1バイト文字で最大約1024文字までしか表示出来ない。
メインルーチンでスクリプトの入っているフォルダを判断し、
関数でファイル名の変更ルーチンを呼び出している。
関数を変えれば他にもいろいろ使うことが出来る。
例えば、ファイルのコピーとか移動とか削除とか。


'=======================================
'フォルダ単位の名前の変更を行う
'対象フォルダにこのスクリプトを配置し、スクリプトを実行する
'処理対象拡張子をcFiExtに入力しておく
'=======================================
'
'フォルダ名にスペース等が入っているとエラーになる
'MsgBoxは1バイト文字で最大約1024文字までしか表示出来ない
'
Const cFiExt = "jpggif" 'jpg と gif を処理対象にする
dim FS
dim xMyPath

set FS=CreateObject("Scripting.FileSystemObject")
'スクリプトのフォルダ名を取得
xMyPath=Replace(WScript.ScriptFullName, WScript.ScriptName, vbNullString)
if right(xMyPath,1)="\" then '右端が"\"の場合この"\"を削除
   xLen=Len(xMyPath)
   xMyPath=left(xMyPath,(xLen-1))
end if

FileRenameProc(xMyPath)

set FSN = Nothing

'--------------------------------------------------
' ファイル名の変更
'--------------------------------------------------
Function FileRenameProc(pSourceFolder)
dim objFolder,objFiles,objFi,Fi
dim Arr,xx,tmp,NewName
dim xLen,Ix

Set objFolder = FS.GetFolder(pSourceFolder)
Set objFiles = objFolder.Files
tmp = ""
For Each Fi in objFiles
   Arr =Split(Fi.Name,".")
   xx = LCase(Arr(1))
   If InStr(cFiExt,xx) > 0 Then
      set objFi = FS.GetFile(Fi)
      NewName=Arr(0) & "b" & "." & Arr(1)
      tmp = tmp & Fi.name & "->" & NewName & vbCrLf

      objFi.Name = NewName

   End If
Next
MsgBox tmp '表示文字数制限あり

set objFi = Nothing
Set objFiles = Nothing
Set objFolder = Nothing

End Function
posted by kaz at 09:20 | Comment(0) | TrackBack(0) | コンピュータ

2015年04月02日

パソコン換装

映画や音楽専用に使っていたパソコンがある時突然壊れた。最初はUSBドライブを接続すると固まった。USBコネクタの抜き差しでやっと認識されるようになりドライブが使えるようになったが、次に接続した時も固まった。この間10分程度である。それではとまた再起動したらもうパソコンは立ち上がらない。真っ黒画面である。BIOSメッセージも表示されず全く起動しない。困った。映画の予約を一杯入れてあるのに、早くしないと番組が終わってしまう。何度も何度もチャレンジしたが状態は悪化するばかりである。
温度変化や湿度変化で良くコネクタの接触不良を起こす。接点の表面に酸化膜が出来てしまい絶縁状態になってしまうのだ。パソコンに不具合が起きた時は8割がた、接点掃除で解決する。
メモリー、HDD、PCIカードを取り外し、接点復活剤を吹きかけウエスでこすり表面をきれいにする。電源投入、うぅん動かない。CPU かマザーボードがいかれたのか全く動かない。電源投入タイミングかもしれないとしばらく繰り返してみたが全く前に進まない。
このマシンは2007年12月に購入したDell製Windows XPマシン。もう7年も使っているのかと不安を抱く。今日までの間、メモリーを交換したり、電源ユニットを交換したり、HDDは何回交換したことか。でももう7年も経ってる、諦めるか。
それにしても登録してある番組予約が気に掛かる。新しいOSにしたらソフトのインストールにどれだけ時間が掛かるだろうか。時間が掛かるだけで無く、もしかしたら動かないかもしれない。不安を抱きながら代替パソコンを購入すべくパソコンショップに向かう。そう言えば最近パソコンショップ行ってないな〜。パソコンブームの時はそこいら中にパソコンショップがあった。秋葉原に行くと、パソコンであふれていた。今は家電ショップにもパソコンは余り置いてない。昔は家電ショップにもパソコンコーナーがあったんだが。パソコン購入のために1時間余り車を走らす。そこまで行かないと希望に合ったパソコンは見つからないのである。
このパソコンを購入した時は最新型で、Core2Duoは誇りだった。このパソコンをメインとしていろいろな用途に使っていた。プログラムの開発もこれで行った。だからHDDの中にはプログラムやら開発ツールやらが見事に入っていた。しかしこのパソコンもだんだん時代遅れとなり、処理スピードにも限界が現れ一線から退くことになった。次の使命は、エアーチェックと最近ではハイレゾ音楽再生である。エアーチェックはPT3、当初はI-O DATAのボードを使っていたが、使い勝手が悪く頻繁に著作権エラーが出たりでうんざりしていた。ある記事でPT3を知り、これにはまっていった。しかし設定は容易ではなく頭が三角になることもしばしばであった。現在はまあまあ順調に動いており落ち着いたところだったが、ここでダウンというハプニングに見舞われた。このパソコンではハイレゾ音楽再生も行っており、USBデジタルオーディオプロセッサーや再生ソフトでもいろいろ悩まされ、プロセッサーに繋ぐUSBケーブルでも大分苦労させられた。そんなパソコンが使えなくなってしまった。
ショップの中を歩き回るが、パソコンは何か少ないな〜。スマホが所狭しと並んでおり時代を感じる。パソコンも置いてあるのだがノートパソコンが表を占めている。ディスクトップは寂しい限りだ。欲しくなるような機種がないし、みんな高価である。困った顔をしながら店内を歩き回っていると、奥の方に中古パソコンのコーナーがあった。そのパソコン達を見比べて行くと、こんな古いパソコンでも売れるんだと感心する。中古なのに値段が高い。ネットサーフィンやメールだけならこれでも十分なのかもしれない。一通り見渡しふと目を留める。何か見たようなパソコンがある。そうだ。壊れたパソコンと同じ機種だ。
スペックを見ると、私のパソコンよりちょっと新しい様だ。OSはWindows VISTA版である。VISTAは欲しくは無いけれど、同じような機種であるのならHDDだけ入れ替えて使えそうだ。しばらくそのパソコンを眺めながら思案する。再インストールの煩雑さ面倒さ、インストールがしたい訳では無く、映画放送を受信したいだけである。頭の中で足し算やら引き算をする。そしてHDD換装と言う結論に達する。決めたら早く買って家に帰ろう。念のためにPCIスロットのタイプを確認するが、店員は「確認してきます」とその場を離れようとする。時間が勿体ないので筐体の蓋を開けて貰いソケットの形状を確認しOKを出す。少しでも残っている予約を生かすために、早くマシンを動かそうと気は焦る。
家に持ち帰り早速HDDを換装する。電源ON。うん?動かん。店でのWindows VISTAは動いていた。換装のHDDは正常なはずだから、それ以外に着けたものが原因だろう。着けたものは、PCIカードのビデオカードにUSBカード、PT3カード。全く立ち上がらないのだから装着したカードが原因に違いない。そう言えば最初の異常状態を引き起こしたのはUSB機器の接続時だ。だとすれば原因はUSBカードかもしれない。USBカードは、メーカーの違う2枚が差さっていたので一枚ずつ外して確認してみる。XX志向のカードを外すとマシンは立ち上がったが先に進まない。VGAモニターはオンボードのビデオに接続してある。PCIのビデオカードにはHDMIモニターを接続してあるが何も表示されてない。このビデオカードもXX志向製であったが、これも不具合の原因であると思われるので外してみた。結果として正常に起動した。XX志向のカード2枚が原因でマシンは動かなかったようだ。
早速新たなビデオカードとUSBカードを購入する。購入レビューを見ながらカードを選定していたが、なぜかXX志向のレビューにはすぐ壊れると言う記事が目についた。やはりそうなのかと納得し、このメーカーのものは使わないことにした。また、これからは購入対象からも外すことにした。品質と信用は大事である。なるべく安いもので済ませようとしたらUSBカードは、現在動いているものと同じ型番になった。ビデオカードは狭いスロットに押し込めなければならないので厚みを確認しながら選定した。スロット間は狭いのでヒートシンクだけでは熱がこもってしまうからファン付きのものが良い。
USBカードは問題なく追加できたが、ビデオカードは動かない。同梱のCDよりドライバをインストールするが、Windows XPには対応していないとメッセージが出る。ああ、そこまでは気がつかなかった。私の環境ではXPはまだまだ現役であるが世の中では既に過去のOSであり、ドライバーは対応していないのだ。失敗したと後悔しながら途方に暮れていたが、私のように不注意な人間は世の中には一杯いるはずだからきっとネットに対応策が載ってる、と検索をかけてみる。あるある、Windows XP用のドライバーはメーカーのホームページに載っていた。早速ダウンロードを行いインストールしてみるが、処理は途中で終わってしまう。そう言えばデバイスマネージャーを見て見ると挿入したビデオカードがどこにも存在してなかった。なぜだ、動くとか動かないは別として、ハード的に繫がっているのだから表示はされるはずなのにどこにもない。再起動する時windowsが立ち上がる前に必ずBIOSメッセージが表示されていたが、そのメッセージを良く読んではいなかった。最後の行の”F1:開始”と”F2:BIOS設定”表示のみを見てF1ボタンを押すばかりであった。真の意味をとらえていなかったのである。そのおかげで余計な作業を繰り返す羽目になった。
なすすべを無くし、途方に暮れお手上げ状態でぼんやり起動時メッセージを読んで見ると、どうやら早とちりをしていたようだ。
表示されていたメッセージとは、
Attention : Unsupported Video Configuration Detected
Action : Required
This computer has an add-in graphics card, but the monitor cable is plugged into the integrated video connector.
To attach the monitor cable to the add-in graphics card :
要約すると、
注意:サポートされていない構成を見つけたよ。
アクション:要求します
このコンピュータにはアドイングラフィックスカードが着いている。
しかし、モニターケーブルは集積ビデオ(オンボードビデオ)に繫がっている。
モニターケーブルを増設用のグラフィックスカードに着けること。

なるほどね。いろいろ調べて見ると、オンボードビデオと拡張ビデオは共存しないのが普通であるようだ。オンボードが生きていると拡張は無視される、だからデバイスマネージャーで表示されなかった訳だ。ハード的にモニターが繫がっている方が優先されるようだ。だから拡張を生かしたければオンボードに繫がっているケーブルは外さないといけないのだ。この仕様はマザーボードによっても違うらしい。拡張ビデオカードを追加する場合はこの辺の確認が必要だ。
オンボードに繫がっていたモニターケーブルを外し拡張ボードに着いているVGA端子にそのケーブルを接続する。なぜなら、HDMIが表示されなかったら様子が解らないからである。PCI拡張ビデオカードにはVGAとHDMIの2台のモニターを接続し電源を入れて見る。ビデオカードには複数のモニターを接続できないものもあるが、この時はそのことを全然気にはしていなかった。おっ、両画面からウィンンドウズロゴが表示される。そう言うことか、何でもかんでもつなげれば良いと言うことでは無いのだ。ウィンドウズも立ち上がり、デバイスマネージャーにも拡張ボードが表示されたので(オンボードビデオは表示されていない)ドライバーのインストールをする。先ほどのインストールではすぐに終わってしまったが、今回は大分時間をかけてインストールしている。全て正常に終了しHDMIモニターも正常に表示されている。
教訓、手抜きは駄目だよ〜、「急がば回れ」とあるが、適切に表示されているメッセージもあるので良く読んだ方が良いと言うこと。これはパソコンに限ったことでは無い。しかしWindowsは変なメッセージを出すことも多いのでその判別は難しいかもしれない。今回のメッセージはBIOSからのものだったので、最初からまじめに訳していれば怪我は無かったようだ。
今映像を見ているが、前よりきれいに見える。記憶からの比較なので適切な判断は無理かもしれないが、きれいだと思っていることの方が幸せである。













購入履歴
I-O DATA USB2-PCIL4 GIGABYTE ビデオカード Radeon HD5450搭載 GV-R545-1GI

I-O DATA USB2-PCIL4

新品価格
¥1,480から
(2015/4/1 12:16時点)


GIGABYTE ビデオカード Radeon HD5450搭載 GV-R545-1GI

新品価格
¥3,791から
(2015/4/1 12:15時点)


posted by kaz at 02:49 | Comment(0) | TrackBack(0) | コンピュータ

2015年03月17日

コンピュータ上で管理している日付の形態について



コンピュータ上で管理している日付の形態には大きく分けて2つ、マイクロソフト系とオラクル系がある。




1. Microsoft系はグレゴリオ歴を採用している


@ COMシステム基準日(OLEオートメーション日付)←.NETFramework以外で使用する旧日付タイプ

起点日付0は、0=1899年12月30日 00:00:00

※本当は0=1900/01/01の予定だったが担当者が間違ってしまったようだ。


A.NETFramework基準日

起点日付0は、0=0001年01月01日 12:00:00

内部的には、倍精度浮動小数点で管理しており、整数部が日付、小数部が時刻を表している。



※起点日付とは、日付領域にゼロを代入した時の日付の値



2. Oracle系はユリウス歴を採用している

取り扱える範囲は、紀元前4712年1月1日から9999年12月31日まで。

内部的に複雑な持ち方をしているようで、関数でしか取り出すことが出来ない。日付設定も関数で行う。



※ ユリウス歴とは、地球が太陽の周りを回る周期を基にして作られた暦法で、太陽暦の一種。ユリウス・カエサルによって制定され、紀元前45年1月1日から実施された。今は主に天文学で使われている。

※ グレゴリオ歴とは、1582年にローマ教皇グレゴリウス13世がユリウス暦を改良して制定した暦法で、現行の太陽暦として世界各国で用いられている。



ユリウス-グレゴリオ.jpg


なぜグレゴリオ歴に切り替わったか

ユリウスの閏日計算が単純だった為、無視できなくなってきた。なぜならユリウス歴で宗教の祭事を行っていたので、自然界の現象と辻褄が合わなくなってきたからである。ユリウス歴ではB.C.45年からA.D.4年の間の閏年の入れ方が誤っていた。1582年10月04日の翌日を10月10日としグレゴリオ歴に切り替えた。


タグ:日付
posted by kaz at 11:00 | Comment(0) | TrackBack(0) | コンピュータ

2014年08月18日

VBA 曜日関数 配列を使う

前回は関数を作成し、曜日を漢字で表示しました。今回は曜日をひらがなにし、文字列の違うものを表示します。

Public Function yobi3(pDate As Date) As String
Const cTitle = "にちよう日,げつよう日,かよう日,すいよう日,もくよう日,きんよう日,どよう日"
Dim xYobino As Integer
Dim arTitle() As String

If pDate = 0 Then
yobi3 = ""
Exit Function
End If

arTitle = Split(cTitle, ",")
xYobino = Weekday(pDate, 1)

If xYobino >= 1 And xYobino <= 7 Then
yobi3 = arTitle(xYobino - 1)
Else
yobi3 = "xxx"
End If

End Function

[Dim arTitle() As String] は、配列を定義します。
[arTitle = Split(cTitle, ",")]は、cTitleの文字列を”,”カンマで分割し、それぞれを配列に代入します。配列の添え字は、定義しなければゼロから始まります。( arTitle(0), arTitle(1), arTitle(2),・・・・ )
なので、[yobi3 = arTitle(xYobino - 1)]で”-1”になっています。







posted by kaz at 10:25 | Comment(0) | TrackBack(0) | コンピュータ

2014年08月06日

VBA 曜日関数

エクセルで曜日を表示したいのに昔からマイクロソフトの関数は、「日付を表すシリアル値から、その日付に対応する曜日を返します。既定では、戻り値は 1 (日曜) から 7 (土曜) までの範囲の整数となります。」である。
ならばと言うことで、関数を自分で作り運用します。エクセルメニューのタグの中の開発より”Visual Basic”を選び、標準モジュールに関数を定義します。後は普通の関数のようにセルに埋め込みます。

Public Function yobi2(pDate As Date) As String
Const cTitle = "日月火水木金土"
Dim xPno As Integer

If pDate = 0 Then
yobi2 = ""
Exit Function
End If

xPno = Weekday(pDate, 1)

If xPno >= 1 And xPno <= 7 Then
yobi2 = Mid(cTitle, xPno, 1)
Else
yobi2 = "xxx"
End If

End Function
posted by kaz at 11:22 | Comment(0) | TrackBack(0) | コンピュータ

2014年07月25日

コンピュータと出会う

私が初めてコンピュータと言うものを見たのは、大学4年の頃だった。オペアンプを使ったアナログコンピュータだったと思います。処理内容はいかにも単純で、その時は興味すらわかなかったのを覚えています。これは男のすることでは無いなと思っていました。今では考えられないことでした。大学の専攻は通信工学、まだ無線機全盛の頃で、秋葉原電気街に行ってもパソコンのパの字も見当たらない時代です。秋葉原、今も回帰で、パの字が見当たらないようですが。次のコンピュータとの出会いは、最初の就職先でした。私は跡取りだったので有無を言わさず実家に戻らなければなりません。帰ることを苦とは思っていませんでしたが、とりあえず自分の好きな仕事は出来ないんだなと思っていました。義兄の紹介で金融機関に就職を希望し入社試験。よりによって私の一番嫌いな接客業、信用金庫(今は銀行だと言っています、この方がかっこいいので。信用金庫はシンキンバンクですから)入社試験会場に行くと、私だけ別テーマです。他の人は全員文系の人たち、当然です金融機関ですから。私だけ理系です、それも全然関係ない通信工学。理系からの採用ケースは私が初めてだったようです。何でそこまでしてくれるのだろうと思ってましたが、ちょうど金融機関に機械化の波が押し寄せ、この会社でも必要に迫られ開発の準備が始まっていたようです。幸運にも偶然にも私はその波に出会い、コンピュータの世界へと足を踏み入れたのでした。所属は本部の事務部電算課、採用即、本部入りも初めてのことでした。
posted by kaz at 11:29 | Comment(0) | TrackBack(0) | コンピュータ
リンク
access:
online:
ファン
検索
<< 2024年04月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
最新記事
最新コメント
オレンジ色の猫が by オーナー (02/06)
オレンジ色の猫が by 翠星石 (01/23)
ドローンを修理する by kaz (03/14)
ドローンを修理する by obayashi (03/10)
タグクラウド
カテゴリアーカイブ
プロフィール