SQLの窓

2010年03月31日


PowerShell2.0 : PowerShell ISE で Excel のオブジェクトを利用して完全に終了(メモリから解放)させるには

コンソールなら良いのですが、PowerShell 統合スクリプト環境 (ISE)
だと、Windows アプリケーションなので、元となるプロセスが終了しな
いと Excel がプロセスに残ったままになります。

明示的に終了させるには、.NET プログラミングで通常行われる方法で
行いますが、作成したオブジェクトは全て $null をセットする必要が
あるかもしれません

※ 作成したオブジェクト : 少なくとも左辺に置いた変数にセットした場合
$ExcelApp = New-Object -ComObject "Excel.Application"
$ExcelApp.Quit()
$ExcelApp = $null
[System.GC]::Collect([System.GC]::MaxGeneration)
PowerShell2.0 : COM 経由で Excel のグラフを作成した後、
PDFとしてエクスポートする を ISE で実行した場合、以下の処理を
追加するとメモリから解放されました

$ExcelApp = $null
$MyChart = $null
$newChartObject = $null
$dataRange = $null
$chartObjects = $null
$MySheet = $null
$ExcelBook = $null
[System.GC]::Collect([System.GC]::MaxGeneration)
Ps_ise


タグ:PowerShell
posted by lightbox at 2010-03-31 17:40 | PowerShell | このブログの読者になる | 更新情報をチェックする

2010年03月28日


PowerShell2.0 : 全ての日本語ヘルプファイル(テキスト)を作成するスクリプト

このコードを書いた .ps1 ファイルを作成して、エクスプローラで右
クリックして PowerShell で実行を行うと、そのディレクトリに全て
のヘルプファイルを作成します

$help_all = get-help *
$target_name = $help_all | select-object Name
foreach ($str in $target_name)
{
	get-help $str.Name -full > ("_" + $str.Name + ".txt")

}

以下でも同じです。
$help_all = get-help *
foreach ($str in $help_all)
{
	get-help $str.Name -full > ("_" + $str.Name + ".txt")

}

文字列を検索したい場合は、Windows の help ディレクトリにある
WindowsPowerShellHelp.chm を使うといいと思います。


タグ:PowerShell
posted by lightbox at 2010-03-28 16:28 | PowerShell | このブログの読者になる | 更新情報をチェックする

PowerShell2.0 : プロンプトの変更

詳細は、get-help about_Prompts です。デフォルトではパスが表示されるので単純なプロンプトに変更する為に以下のように入力します。
function prompt {">"}

現在のプロンプト関数を表示するには、以下のように入力します

(get-item function:prompt).definition


タグ:PowerShell
posted by lightbox at 2010-03-28 01:26 | PowerShell | このブログの読者になる | 更新情報をチェックする

2010年03月27日


PowerShell2.0 : .NET Framework のスタティックメソッドの実行

通常のオブジェクトはインスタンスを New-Object で作成して変数に格納し、それを使って実行します。

※ デフォルトで読み込まれていないアセンブリは、事前に Add-Type する
※ 必要があります
関連する記事 

状態情報を格納する変数(定義済の定数のように使われるものが含まれます)と
 .NET Framework の利用


[System.Console]::WriteLine("日本語表示")

System.Console のメンバ一覧は以下のようにして出力します
[System.Console] | Get-Member -static

メンバ情報が...で省略されずに欲しい場合は、さらに以下のパイプを追加します
| Out-File -FilePath memberConsole.txt -Width 4096


タグ:PowerShell
posted by lightbox at 2010-03-27 22:08 | PowerShell | このブログの読者になる | 更新情報をチェックする

2010年03月26日


Windows7 : XPモードのカスタマイズ


XPモードのXPを独立したPCとして運用する為にカスタマイズを行う
どのように使うかは人それぞれですが、仮想PCと親PC の親和性を大きくする事は
重要だと思います。やってみたいのは、メールサーバーを入れて、別のPC からア
クセスする事ですが、指示したテストの結果を仮想PC ごともらえるという事が時
間短縮の上で大きいような気がします。


Xpmode_net


posted by lightbox at 2010-03-26 16:40 | 記録 | このブログの読者になる | 更新情報をチェックする

VBScript : 新しい Excel の Book を作成する

Excel 2007 の場合

VBScript : Excel の新しいBookを作成する
2007 の場合、.xls の拡張子で保存時はフォーマットを指定しないと読みだす時に警告が出るようです

通常イントラネットのWEBページで利用されるテクニックの基本的な部分です。イントラネットの場合は、フォーマットを事前に作成しておくので、Excel ブックの作成を行う事は稀ですが、簡単な運用に使う場合は新規にブックが必要になると思います

※ 複数回実行すると上書きされます

Excel.Application を初回のみ作成するように記述しているのは、関数化するとこのような記述がいずれ都合が良くなるからです。

昔から、Excel.Application の扱いはけっこう厄介で、実行する毎に Quit しておくとトラブルを最低限に抑える事ができます。しかし、操作方法のルールとリカバリ方法をマニュアル化しておく事が最も重要になります
' **********************************************************
' 新しい Excel の Book を作成する
' **********************************************************

Dim ExcelApp	' アプリケーション
Dim ExcelBook	' ブック
Dim Fso		' ファイルシステムオブジェクト

' このスクリプトが存在するディレクトリ
Set Fso = CreateObject( "Scripting.FileSystemObject" )
strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

' このディレクトリに作成
Dim BookPath : BookPath = strCurPath & "\mybook.xls"

' 初回のみオブジェクトを作成
If Not IsObject(ExcelApp) Then
	Set ExcelApp = CreateObject("Excel.Application")
End If

' 警告を出さないようにする
ExcelApp.DisplayAlerts = False

' ブック追加
ExcelApp.Workbooks.Add

' 追加したブックを取得
Set ExcelBook = ExcelApp.Workbooks( ExcelApp.Workbooks.Count )

on error resume next
' 保存
ExcelBook.SaveAs( BookPath )
if Err.Number <> 0 then
	MsgBox( "ERROR:" & Err.Description )
end if
on error goto 0

' Excel をアプリケーションとして終了
ExcelApp.Quit
' Excel を VBScript から開放
Set ExcelApp = Nothing
' オブジェクト変数を初期化( 初期化しないとオブジェクト扱いされる )
ExcelApp = Empty




タグ:VBScript EXCEL
posted by lightbox at 2010-03-26 11:27 | VBS + オブジェクト | このブログの読者になる | 更新情報をチェックする

2010年03月25日


Symantec Endpoint Protection のSYMANTEC 改変対策警告ダイアログがXPモード起動時に表示される

以下の設定でダイアログは表示されません。
イベントログには記録されるので、運用上問題無い
と思います。

Sep_xpmode


タグ:Symantec
posted by lightbox at 2010-03-25 12:02 | 記録 | このブログの読者になる | 更新情報をチェックする

2010年03月24日


32ビット限定(HTA) : コンピューターアイコンを右クリックして表示されるポップアップメニューにユーザメニューを追加・修正・削除するツール

2010/03/24 : 実行タイプ(スケルトン)を選べるようにました

Shell_comp_2



Computer_icon_menu2


機能

1) 追加・修正・削除
2) 位置移動
3) 入力されたコマンドをテストする
4) 登録されているレジストリを regedit.exe で開く


関連する記事

コンピュータアイコンに設定するメニュー ( Windows8 デスクトップでも可 )


タグ:SHELL
posted by lightbox at 2010-03-24 16:01 | フリーソフト | このブログの読者になる | 更新情報をチェックする

2010年03月23日


Windows7 : 管理共有(C$等) に接続するには

Uac

UAC を無効にすれば接続できますが、Microsoft のドキュメントに
よれば、レジストリを変更する事によって対応できるそうです。

Windows Vista ベースのコンピューターにある管理共有に、
ワークグループのメンバーである別の Windows Vista ベースの
コンピューターからアクセスすると、エラー メッセージ "ログ
オンに失敗しました: ログオンできません" が表示される

以下は Windows7 でログオンできなかった状態で正しい
アカウントを入力してもログオンはできません。
※ この文書は Vista 用なので、Fix it は使用できません

Netlogin


以下は .reg ファイルが二つ入っています( _ok : 接続可能、_ng : 接続不可 )
ブラウザでダウンロード


関連する記事

Windows : 管理共有(C$等)とネットワーク接続と
システムエラー5(53)とSymantec Endpoint Protection
posted by lightbox at 2010-03-23 17:20 | Windows7 | このブログの読者になる | 更新情報をチェックする

Windows7 : Symantec Endpoint Protection の IPv6 遮断と ping

Symantec Endpoint Protection を導入していなければ関係無いと
思いますが、デフォルトで IPv6 が遮断されているようなので、
ping を単純に実行しても IPv6 が使われておれば( たぶん使われている )
ホストを見つけられないので、ping -4 で IPv4 で強制します。

関連する記事

Windows : 管理共有(C$等)とネットワーク接続と
システムエラー5(53)とSymantec Endpoint Protection
Endpoint2
タグ:Windows7
posted by lightbox at 2010-03-23 14:00 | Windows7 | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Windows
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり