パソコン・インターネット

2015年2月 8日 (日)

HANAってなんだ?

ERPで有名なSAPが、「SAP Business Suite 4 SAP HANA (S/4HANA)」を発表しました。

今までは、OracleやSQLServerも利用可能でしたが、これからはSAP社の「HANA」上でないと動作しません。

インメモリーコンピューティング(SAP HANA) | 製品 | SAP

しかし、凄いロックオンです。SAPで全て完結させろと?

たしか昔のR/3、SAPはライセンス条項がいやらしく、アドオン作成したものもSAPに帰属するとか何とか・・

根底には、囲い込みするが目的に入っているだろうから、その顕在化かね。

SAP導入検討しているところがどう動くのかが気になります。

とまあ、SAPのERP側は置いておいて、HANAってなんなのか?

インメモリDBではあるのだが、DB管理者としては、どのようなメカニズムでどうなっているのか?

ツール等はあるのか?などが気になる。

勉強するには環境を構築しないと何ともならないのだが、入手方法は?

というあなた(私)に参考になるサイトがあった。

SAP HANA on the AWSでDBレプリケーション(AWS準備編) | データベースアクセスツール 技術ブログ

暇があったら触ってみよう。。。

とはいうものの、暇がないんだよな~。最近管理系の仕事ばかりで、つまらない・・・

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

2015年1月18日 (日)

KinectV2が接続できないときの確認点

Xbox One + Kinect ついつい買ってしまった。

というのも、PSYCHO-PASSのシビュラシステムがKinectV2で動いているらしいので

その検証用に・・・というのは、半分冗談・半分本気。

東京メトロ丸ノ内線新宿駅のメトロプロムナードで、犯罪係数を割り出す期間限定イベントで

使用されているのが、KinectV2。

どんな認識技術なんだろうって興味があって。

PS4を持っていて、かつ殆ど使っていない(というか今時点でピンとくるソフトがないからだが・・・)

にもかかわらず、追加で買ってしまうという暴挙。まあいっか、遊びだ、遊び。

で、さっそくセットアップ(接続)しようとしたら、なぜか認識してくれない。

すわ、ハズレか?

コネクタ弄ったりいろいろ試して分かったこと。

TVのアンテナ線とKinectV2ののケーブルを一緒に束ねているのが問題っぽい。

ケーブルにノイズが混じって、信号拒絶してたのかな?

アンテナ線と離してケーブル取り回しをましょう。一応電源ケーブルとも距離を取った。

認識すると、チュートリアルが出来るようになる。

手の「パー」→「グー」で、掴むジェスチャーとなったり、ポンと押す操作ができたりと、

「おおっ認識してるっ!」って感じ。

・・・・

しかし、なんかまどろっこしい。認識精度が問題なのか慣れの問題なのか?

すぐにコントローラー操作に切り替えた。以上、終了(笑)

一応ダンスゲームが付いてきたので、後でやってみよう。でも狭いんだよな。うち。

ただ、PS Cameraよりは、凄いかなと思います。

肝心なXbox Oneといえば、うーん、全体的な操作感(OS自体やBlu-ray Discの操作)は、

PS系の方が慣れもあって分かりやすいかな。

個人的には直感的に操作できなかった。

ゲームは、「Forza Horizon 2」を一緒に買ったので、これからやってみる。

結局次世代コンソールの2台持ちだが、映像が精緻だから楽しめるかというと、

必ずしもそうじゃない、というのがよく分かる。

逆に、精緻な映像を作り込むためにゲームの開発費等が上がってしまい、冒険出来なくなるなら

ちょっと悲しい。今のところ、ナンバリングタイトルが殆どなのも、そうだからに違いない。

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

2014年6月 8日 (日)

Officeソフトのインストール順に注意

Officeのビット数ってあまり意識しないんじゃないですかね?

それどころか(?)、64bitの方が良いんじゃないという、勝手な想像をしてしまうケースがありますよね。

そういうケースって、Office2010辺りからは、64bit版を入れているケースが多いと思われます。

で、互換性等を考えて、昔使っていたOffice2003(=もちろん昔なので、32bitです!)も

一応入れておくか、という流れに。

で、最近になって気付いた。

32bit版Officeが入っていると、64bit版Officeがすんなりとインストールできないということに・・・

Office

「32ビットバージョンのOffice製品がインストールされているため、64ビットバージョンの

Office2010はインストールできません。」

64bit→32bitの流れてインストールしていたときは気付かなかったが、こんな落とし穴があるとは。

この状況、Officeソフトをインストールした後に、MSProjectとかVisioなんかをインストールする際にも

引っかかります。というか引っかかった。

バイパスする方法があるのかは確認中だけど、なさそう。

すなおに、

1.32bit版をアンインストール

2.64bit版をインストール

3.32bit版を再度インストール

しかないんでしょうね。

32bit版と64bit版の違いと言えば、Oracleクライアントでも、一瞬悩んだな・・・。

(暇を見て、あとでしたためる予定)

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

2014年5月 4日 (日)

TIPS : InternetExplorer8 にダウングレードする方法

以前、「IE8」がとある会社の指定ブラウザと書きましたが、

「IE8」がリリースされたのは、2009年3月20日と古いし、

そもそも現在のMicrosoftの最新ブラウザは、「IE11」です。

新規で購入したPCなんかは、「IE8」じゃなくなってますよね。

そんなPCを、「IE8」化する必要がある場合の手順を纏めました。

使用しているPCのアプリケーションコンポーネントや、よく見るサイトによっては、

「IE8」へのダウングレード非推奨の場合もあるので、自己責任でお願いします。

(その場合でも、再度IE11なんかにアップグレードはできるとは思うが) 

なお、対象としているのは、Windows7です。

まず、現在使用しているIE8以上のIEをアンインストールする。

「まず」もなにも、言ってみればこれだけなのだが・・・

 

1.一端「WindowsUpdate」の設定を変更をしておきます。

「重要な更新プログラム」を、

「更新プログラムを確認するが、ダウンロードとインストールを行うかどうかは選択する」

にします。

Ie8_00

 

2.次に、現在使用しているIEをアンインストールするのですが、

「プログラムのアンインストールまたは変更」画面からは、IEはアンインストールできないので

「インストールされた更新プログラムを表示」を選択

Ie8_01

 

3.「更新プログラムのアンインストール」のリストの中(ジャンルは「Microsoft Windows」)に、

IE11やIE10、IE9があると思うので、クリックして、右クリックメニューから「アンインストール」を選択

Ie8_02

※その際、下にある「ja-JP Language Pcak」は、そのままでOKです。(連動してアンインストールされる)

 

4.再起動すると、IEがダウングレードされています。が、1段階ダウングレードしたに過ぎないので、

「IE8」になるまで、ダウングレードを続けます。

IE11→IE10→IE9→IE8と、環境によっては、3回行う必要があるかも。

Ie8_03

 

これで基本OKですが、「WindowsUpdate」が走ると、また勝手にアップグレードされてしまうので

アップデートの対象から外しておきます。

 

5.「WindowsUpdate」の「更新プログラムの確認」を実施

「IE11」は「重要」、「IE10」「IE9」は「オプション」のセクションにそれぞれありました。

それらを選択し、右クリックメニューから「更新プログラムの非表示」をクリック。

Ie8_04

Ie8_05_3

 

以上で終了です。

「1」で変更した設定変更を元に戻しつつ、アップデート対象に「IE9」「IE10」「IE11」が表示されないことを

確認しつつ、「IE8」のパッチを当てるため、再度「Windows Update」を実行しておきます。

ちなみに、非表示にした「IE」を再度表示・インストールしたくなったら、「Windows Update」の

「非表示の更新プログラムの再表示」を選択すれば、確認・非表示の解除ができます。

Ie8_06

Ie8_07

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

2014年5月 1日 (木)

IEの脆弱性とブラウザシェア

InternetExplorerに脆弱性が発見されましたね。いわゆる、ゼロデイアタックもあったらしい。

Internet Explorer の脆弱性により、リモートでコードが実行される

影響する範囲は、IE6~IE11と全てのバージョン・OSに渡ってます。

IE6は、WindowsXP時代のものなので、パッチはでないと思ってますが、

それ以外については、そのうちパッチが出るんじゃないかな。

巷では、「IEなんてクソブラウザ使っている奴がいるのかよ?」的なことを言う人がいます。

「一般と違う俺カッケー」的な発想なのかな?

でもね~、私の知っている企業内では普通に指定ブラウザだったりするんです。IE8とか。。

FirefoxとかGoogleChromeが指定ブラウザの会社ってどれくらいあるんでしょう?

また、この事件(?)を機会に、IE禁止令をだした会社があるらしいですが、

そんな一気に変えて大丈夫なんでしょうか?

ブラウザベースのアプリケーションがなければ良いんでしょうけど。。。

なんだかんだで、IEがデフォルトというイメージがあるので、久しぶりにシェアを調べてみた。

Browser market share

Top 5 Desktop, Tablet & Console Browsers

Browser Statistics

ありゃ、一番上の「netmarketshare」では「IE」が50%位だけど、

下2つでは、「GoogleChrome」が50%位、とまったく違う傾向が。。

どういう調べ方をしてるんでしょう。興味深いです。

IE以外のブラウザで好みなのは、Firefoxかな。

GoogleChromeだと、過去バージョンが正式公開されていないけど、

Firefoxなら公開(とはいえ非推奨)されているので、特定バージョンに固定するのが楽っていう、

しょうもない理由からだけど。

以前のバージョンの Firefox をインストールするには

もちろんセキュリティを考えると新しいバージョンが優れているとは思いますが、

新バージョンでなく、パッチレベルにしてくれると、開発者としては、稼働確認が楽できて嬉しい。

というわけで(!?)、IE8のパッチ待ちというところです。

まあ、怪しいサイトに行かなければリスクはかなり軽減されるわけで。

っていうか、みんな(特に企業内LAN使用ユーザ)がそんなに怪しいサイトに

接続しているんかね。

と思ってたら、有害サイトフィルタリングソフト「i-フィルター(アイフィルター)」サイトが

アクセス集中でサーバダウンしたらしい。(現在は復旧済みとのこと)

なんか笑った。

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

2014年2月23日 (日)

PS4買ってしまった・・・

さて、購入を迷っていたPS4ですが、踏ん切り付けて買ってしまいました。

やりたいゲームもないのに、先走りすぎたか?

とりあえずは、Blu-rayプレイヤーとして活躍してもらおう!。。。。

箱はこんな感じ。

Ps4_package

箱の下部には、Javaのロゴが。ブラウザにでも使用されているのでしょうか。

Ps4_java

説明書を紐解いて、驚いた。HDD換装について、説明があります。

Ps4_hdd

そういえば、PS3も換装可能だったな。XBox位かな、純正品以外がNGだったのは。

なぜHDD換装が重要かというと、ゲームソフトの容量の肥大化にあります。

タイトル サイズ
BATTLEFEILD 4 33.6 GB
CALL OF DUTY GHOSTS 29.8 GB
龍が如く 維新! 23.8 GB
KNACK 34.8 GB

ゲーム1タイトルにつき、35GB相当が必要となると想定すると、500GBなんてあっという間?

あと、気付いた点をいくつか列挙。

・CDの再生・取り込みに対応していない。

・ディスクの回転音が大きい気がする。

・DVD/Blu-ray 再生時の操作がPS3のボタンと異なる。

各種メディア再生については、PS3が優れているという感じですかね。

後は、良いゲームソフト待ち。

開発しやすくなったというのが本当かどうか、見せてもらおうじゃないの!

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

2014年2月 2日 (日)

サポート期間確認用

WindowsXP のサポート期間がそろそろです。

というわけで、いろんなものの、開始・終了をリストしてみた。

OS/HW 販売開始 販売(延長サポート)終了
Windows XP Professional 2001年10月25日 2014年04月08日
Windows 7 Professional 2009年09月01日 2020年01月14日
Windows 8 Pro 2012年08月16日 -
PS2 2000年03月04日 2012年12月28日
PS3 2006年11月11日 -
PS4 2013年11月15日 -
ニンテンドーゲームキューブ 2001年09月14日 2006年12月31日?
Wii 2006年11月19日 2013年10月01日
Wii U 2012年11月18日 -
XBox 2001年11月15日 2006年05月10日?
XBox 360 2005年11月22日 -
XBox One 2013年11月22日 -

一部間違っているかも。

「Windows XP」と「PS2」が10年越えで頑張っている感があります。

「Vista」?なにそれ?美味しいの??・・・というのは冗談で、Vistaは不遇ですね。

Windows8については、ん~、どうなんでしょう?

ただ、Office2003→Office2007の時のように、UIの変化が大きいので、早く弄り倒してみたいところです。

でも、買ってみようと思っていた、「Surface Pro 2 512GB」が現在も品切れなんだよな~。

消費税が上がる前には、流通して欲しい。

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

2013年12月 8日 (日)

TIPS Oracle12cのリスナー構成が失敗する。

Oracle12cを使用してみようと、Windows7 64bit マシンに入れてみた。

本来なら、サーバOSで動作検証するんだが、テストマシンがないのでしようがない。

Databaseソフト、及び、インストレーションガイドは、以下からダウンロード。

Oracle Database ソフトウェア・ダウンロード

ちなみに、Windows用クライアントソフトは、まだ日本語サイトからはダウンロードできないようです。

なので、以下からダウンロード。(参考までに)

Oracle Database 12c Release 1 for Microsoft Windows (x64)

クライアントソフト自体は、32bit用もありますが、Database側は64bit版オンリーとなっていますので、

WindowsXPで稼働テストなどと気軽に出来ないので注意です。

まあWindows7マシンなら、32bitである可能性の方が少ないかな。

インストレーションガイドに沿って、インストールしていく。

で、問題の「DBCAによるデータベース作成」である。

作成して、接続テストを行ってみると・・・

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\test>sqlplus /nolog

SQL*Plus: Release 12.1.0.1.0 Production

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> connect system/manager
接続されました。
SQL> connect system/manager@orcl
ERROR:
ORA-12514: TNS:
リスナーは接続記述子でリクエストされたサービスを現在認識していません


警告: Oracleにはもう接続されていません。
SQL> connect system/manager@192.168.1.1:1521/orcl
ERROR:
ORA-12514: TNS:
リスナーは接続記述子でリクエストされたサービスを現在認識していません


警告: Oracleにはもう接続されていません。
SQL>

接続識別子を付けて接続しようとすると、蹴られて接続できない・・・

これはどうしたことだ??

OS上のサービス(OracleOraDB12Home1TNSListener)は稼働している。

いろいろトライしてみたところ、

Windowsファイアウォールを無効にしてから、DBCAを実施するとうまくいった。

ファイアウォールのTCP1521の送受信を通す設定を加えただけだと駄目で、

完全に無効にしないと、上手くリスナーが構成されなかった。

NGな、listener.ora

# listener.ora Network Configuration File: C:\app\oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

OKな、listener.ora

# listener.ora Network Configuration File: C:\app\oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = computername.localdomain)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

LISTENERのアドレス部分が、NGの場合はIPとなっているが、OK側は完全修飾ドメイン名(FQDN)になっている。

何でかね~?

ちなみに、NG側の「listener.ora」を、FQDN形式に書き直して、DB・リスナー再起動したら、上手く接続できた。

結果として、「listener.ora」の作られ方が良くなかったようだ。

※なお検証したのは、

・StandardEditionをインストール。

・コンテナデータベースとしては作成しない。

・EnterpriseManagerDatabaseExpressの構成を行わない

としたので、上記以外の場合は挙動が異なる可能性があるので、自己責任で検証よろしく。

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

2013年8月25日 (日)

VBScriptでレジストリ操作 その2 (その1の解説編)

Function GetOfficeVer(appName)
...
Function GetOSType()
...
Function GetIEVer()
...

については、他でも使える要素が高そうなので、有用かと。

ただし、「Function GetOfficeVer(appName)」については、既に問題が発覚していて、

複数のOfficeバージョンがインストールされており、 旧バージョン側を開くアプリケーションとして登録されている場合

ただしくそれを把握できなかった(らしい)。

直接そのマシン・状況を再現できないので、改良できるか現時点で不明。

なので、複数バージョンの場合は注意して下さい。

あとレジストリ操作のキモである

Function SetBrowserFlag()
...

については、

「On error resume next」を、削除対象のレジストリがない場合でも問題ないように敢えて記述しているところが、

ポイントといえばポイント。 サンプルには、「RegDelete」がないので、有り難みがないですけど。

※この記述がないと、削除対象のレジストリキーが無い場合、エラーとなります。

さて、スクリプト一番のポイントは

Shell.ShellExecute "wscript.exe","""" & WScript.ScriptFullName & """ uac","","runas"

の部分です。

Windows7(Vista)については、ユーザアカウント制御(UAC)が有効となっている場合、

RegDeleteやRegWriteといったコマンドは、本来管理者権限が必要であるのに、単にスクリプトをダブルクリック

しただけでは、ユーザ権限で実行されてしまうため、正しく処理が行えない、という壁があります。

素直に、

・ユーザアカウント制御の設定を「無効」にする

という方法もありますが、

・セキュリティ上問題があるケースが多い

・その操作の為のマニュアルを作成・配布しないといけない

・その操作中に、ユーザが誤操作をする可能性がある

というデメリットがある為、お勧めできない。

(そもそも、そんな方法でOKなら、レジストリを操作するマニュアルを作成・配布すればいい)

ということで、UACを操作することなく、管理者権限で実行させるために使っているのが

「runas」コマンドです。

do while Shell.ShellExecute "wscript.exe","""" & WScript.ScriptFullName & """ uac","","runas"

つまり上記は、管理者権限で、自分自身を、第1引数「uac」をつけて、再起動を行っているコマンドです。

この第1引数「uac」に意味はありません。

大事なのは、「1つ(以上)引数を付けて起動する」という点です。

1つ以上引数を付けて挙動を変えている部分が、

do while WScript.Arguments.Count=0
...
loop

上記の部分です。

この「do...loop」間に書かれたコマンドは、引数がない場合(0個)のみ実行されるという 意味を持っています。

なので、

・初回起動時(エンドユーザがダブルクリック時)は、引数なし(0個)

 →「runas」にて、管理者権限で自分自身を、第1引数「uac」をつけ起動し直して、終了。

・自分自身が自分自身を起動した場合は、第1引数があるので、

 →更なる自分自身の起動は行わず、以降のレジストリ操作部分に突入

 →レジストリ操作が管理者権限で実行される。

 →正しく実行される

という順になります。

一種の権限昇格を行うサンプルということも出来るかも知れません。

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

2013年8月11日 (日)

VBScriptでレジストリ操作 その1

レジストリ操作をするために、スクリプトなど書かなくても、普通に「regedit」で修正すればいいのですが、

一般ユーザ(というかPCに詳しくない人)にレジストリを触らせるのが嫌な場面は多いです。

まあ、ポリシーの適用で何とかなったりすることもありますが、今回は必要に迫られて書いてみた。

汎用性はそれなりに高めたつもりなので、再利用時の備忘として記録。

ソースは以下に。ファイル名はお好みで。拡張子は、「vbs」とします。

Option Explicit
    Dim strOSType
    Dim strOfficeVer
    Dim strIEVer
    Dim strMsg
    Dim Answer
    Dim Shell
    
    strIEVer = Mid(GetIEVer(),1,4)
    IF strIEVer = "IE 6" Then
    ElseIf strIEVer = "IE 7" Then
    ElseIf strIEVer = "IE 8" Then
    Else
        MsgBox "動作保障外のInternetExploreです。 検出されたIEバージョン = " & GetIEVer()
        WScript.Quit
    End If
    
    strOfficeVer = GetOfficeVer("EXCEL")
    IF strOfficeVer = "EXCEL2003" Then
    Else
        MsgBox "動作保障外のEXCELです。 検出されたEXCELバージョン = " & strOfficeVer 
        WScript.Quit
    End If
    
    strOSType = GetOSType()
    IF strOSType = "Windows XP" Then
    ElseIf strOSType = "Windows 7" Then
        do while WScript.Arguments.Count=0
            strMsg = "「ユーザーアカウント制御」ダイアログ画面で、"
            strMsg = strMsg & vbCrLf & "「次のプログラムにコンピュータへの変更を許可しますか?」"
            strMsg = strMsg & vbCrLf & "と表示される場合は、「はい」を返答してください。"
            Answer = MsgBox(strMsg , vbInformation + vbOKOnly , Wscript.ScriptName)
            Set Shell=CreateObject("Shell.Application")  
            Shell.ShellExecute "wscript.exe","""" & WScript.ScriptFullName & """ uac","","runas"
            WScript.Quit
        loop
    Else
        MsgBox "動作保障外のOSです。 検出されたOSバージョン = " & strOSType
        WScript.Quit
    End If
    
    strMsg = "InternetExplore 及び EXCEL の設定変更を行います。"
    strMsg = strMsg & vbCrLf & "念のため、InternetExplore 及び EXCEL を全て終了し、"
    strMsg = strMsg & vbCrLf & "「OK」を返答してください。"
    Answer = MsgBox(strMsg , vbExclamation + vbOKCancel + vbDefaultButton2 , Wscript.ScriptName)
    If Answer <> vbOK Then
        MsgBox "設定変更処理をキャンセルしました。"
        WScript.Quit
    End If

    Call SetBrowserFlag()
    MsgBox "設定変更処理が正常に終了しました"
    WScript.Quit
'-----------------------------------------------------------
'処理内容:Office製品のバージョンを取得
'引数:アプリケーション名(Excel Word Powerpoint Access)
'戻り値:Office製品のバージョン
'-----------------------------------------------------------
Function GetOfficeVer(appName)
'http://support.microsoft.com/kb/240794/ja
    On error resume next
    Err.Clear
    Dim strRet
    strRet = ""
    Dim officeVer
    officeVer = ""
    Dim Obj

    Dim Shell
    Dim RegKey
    Set Shell = CreateObject("WScript.Shell")

    Dim KeyG
    KeyG = appName & ".Application"
    RegKey = "HKLM\SOFTWARE\Classes\" & KeyG & "\CurVer\"
    officeVer = UCase(Shell.RegRead(RegKey))
    KeyG = UCase(KeyG)
    officeVer=Replace(officeVer,KeyG, "", 1, -1, 1)

    Set Shell = Nothing
    IF Err.Number = 0 Then
        Select Case officeVer
            Case ".8"           strRet = appName & "97"
            Case ".9"           strRet = appName & "2000"
            Case ".10"          strRet = appName & "XP"
            Case ".11"          strRet = appName & "2003"
            Case ".12"          strRet = appName & "2007"
            Case ".14"          strRet = appName & "2010"
            Case ".15"          strRet = appName & "2013"
            Case Else           strRet = appName & "(" & officeVer & ")"
        End Select
    Else
        strRet = appName & ":未インストール"
    End IF
    GetOfficeVer = strRet
    Err.Clear
End Function

'-----------------------------------------------------------
'処理内容:OSのバージョンを取得
'引数:なし
'戻り値:OSのバージョン
'-----------------------------------------------------------
Function GetOSType()
    On error resume next
    Err.Clear
    Dim objWMIService
    Dim objComputer
    Dim colComputers
    Dim OsVal
    Dim szTmp
    Dim strRet
    Dim strOSAr
    szTmp=""
    strRet=""
    strOSAr=""

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colComputers = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each objComputer in colComputers
        szTmp = objComputer.Version
        OsVal = Mid(szTmp,1,3)
        IF OsVal = "5.0" Then
            strRet = "Windows 2000"
        ElseIf OsVal = "5.1" Then
            strRet = "Windows XP"
        ElseIf OsVal = "5.2" Then
            strRet = "Windows Server 2003"
        ElseIf OsVal = "6.0" Then
            IF InStr(UCase(objComputer.Caption),"SERVER") > 1 Then
                strRet = "Windows Server 2008"
            Else
                strRet = "Windows Vista"
            End IF
        ElseIf OsVal = "6.1" Then
            IF InStr(UCase(objComputer.Caption),"SERVER") > 1 Then
                strRet = "Windows Server 2008 R2"
            Else
                strRet = "Windows 7"
            End IF
        ElseIf OsVal = "6.2" Then
            IF InStr(UCase(objComputer.Caption),"SERVER") > 1 Then
                strRet = "Windows Server 2012"
            Else
                strRet = "Windows 8"
            End IF
        Else
            strRet = "Windows " & "(" & szTmp & ") "
        End If

''        strRet = strRet & "SP" & objComputer.ServicePackMajorVersion & "." & objComputer.ServicePackMinorVersion
''        strOSAr = ""
''        strOSAr = objComputer.OSArchitecture
''        IF strOSAr = "" Or IsNull(strOSAr) Then
''            strOSAr = "32ビット"
''        End If
''        strRet = strRet & " " &strOSAr
    Next

    GetOSType = strRet

    Err.Clear

End Function
'-----------------------------------------------------------
'処理内容:Internet Explorerのバージョンを取得
'戻り値:Internet Explorerのバージョン
'-----------------------------------------------------------
Function GetIEVer()
  On error resume next
  Err.Clear
  Dim strRet
  Dim IEVer
  Dim Shell
  Dim RegKey

  strRet = ""
  IEVer = ""

  Set Shell = CreateObject("WScript.Shell")

  RegKey = "HKLM\SOFTWARE\Microsoft\Internet Explorer\Version"
  IEVer = Shell.RegRead(RegKey)

  IF Err.Number = 0 Then
    strRet = "IE " & IEVer
  Else
    strRet = "未インストール"
  End IF

  GetIEVer = strRet

  Err.Clear

End Function
'-----------------------------------------------------------
'処理内容:Excelをブラウザ外で開くようレジストリを書き換え
'引数:なし
'戻り値:なし
'-----------------------------------------------------------
Function SetBrowserFlag()
    On error resume next
    Err.Clear
    Dim WshShell
    Dim regStr

    Set WshShell = CreateObject("WScript.Shell")

    regStr = "HKEY_CLASSES_ROOT\Excel.Sheet.8\BrowserFlags"
    WshShell.RegWrite regStr, 8, "REG_DWORD"

    regStr = "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8\BrowserFlags"
    WshShell.RegWrite regStr, 8, "REG_DWORD"

    Err.Clear

End Function

内容は、

『「OS」と「Excel」のバージョンを判定し、OKだったら、レジストリを修正』

というものです。

今日はとりあえず、ソースアップまで。内容説明は、日を改めます。

最近、疲れているのかホームページ更新が遅れ気味。

義務感でやっている訳じゃないから、全然OKだが、週に1つくらいは、書き連ねていきたいな。

ネタがないからなのか、それとも夏バテ気味なのか。。

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

より以前の記事一覧