VBS ドラッグ&ドロップでファイル名を取得。引数としてファイル名を取得。
今回はドラッグ&ドロップでファイルを引数として読み込んで、ファイルのファイル名を取得します。 WScript.echo WScript.Arguments(0) 'フルパス Set fso=CreateObject("Scripting.FileSystemObject") 'FileSystemObjectのインスタンスの作成 WScript.echo fso.getFileName(WScript.Arguments(0)) 'ファイル名のみ VBSの引数はWScriptオブジェクトのArgumentsプロパティに保持されます。WScript.Argumentsプロパティからは、WshAr…
VBS 空白でないセルを数える "長さ0の文字列"を除く Excel関数をVBSで使用
今回は選択範囲内の空白でないセルの数を数えます。 ネットで検索するとCOUNTIFやCOUNTAを使用した数え方が出てきますが、この方法では"長さ0の文字列"を数えてします。 今回は列を選択してその範囲内の空白でないセルを数えてみたいと思います。 使うのはExcelの機能であるCOUNTBLANK関数とRows.Countプロパティです。 CONTBLANK関数は"長さ0の文字列"を含む空白の数を数えます。 Excel関数をVBSで呼び出す場合はApplicationオブジェクトのWorksheetFunctionプロパティを使用します。 Rows.Countプロパティではシートの最大行を数え…
今回はExcelシートの削除をしたいと思います。 スクリプトの流れとしては、「シートの1」、「削除するシート」という名前の2つのシートを作成 その後、それぞれのシートのA1セルに「シートの1」は「helloworld」、「削除するシート」は「del」と入力 最後に「削除するシート」を削除します。 削除に使用しているのは↓の一文だけです。 obj.Worksheets("削除するシート").Delete 'Excelのインスタンスの生成 Set obj=WScript.CreateObject("Excel.Application") 'Excelウィンドの表示、Falseにすれば画面にはなにも…
今回は前回作成したExcelを名前を付けて保存したいと思います。 前回の記事↓ VBS Excelブック作成時のシートの数の指定 - VBScript初級 'Excelのインスタンスの生成 Set obj=WScript.CreateObject("Excel.Application") 'Excelウィンドの表示、Falseにすれば画面にはなにも表示されない obj.Visible=True '設定されている起動時に作成されるシート数 temp = obj.SheetsInNewWorkbook '起動時に作成されるシート数を1個に変更 obj.SheetsInNewWorkbook = 1…
今回は以前作成したExcelを開くだけのプログラムに ”ブックの新規作成時に作成されるシートの数” を指定します。 以前の記事は↓です。 VBSでExcelを操作 - VBScript初級 今回、シートの数の指定に使うのは SheetsInNewWorkbookプロパティ です。 シートの数を変更するにはこのプロパティの値を変更するだけです。 スクリプト実行後に元の値に戻せるように 一度SheetsInNewWorkbookプロパティの中身を変数に入れて置き、 ブックを開いた後に元の値に戻すようなプログラムになっています。 ソースは以下の通りです。
VBSでcsvをExcelにカンマ区切りで読み込ませ、Excelファイルとして保存する。
見出しのとおり今回は ドラッグ&ドロップでcsvファイルをexcelファイルに変換します。 コードは以下の通りです。
今回はダイアログボックスでフォルダを選択し、選択したフォルダのパスを表示させます。 たった3行のソースコードです。 実行すると下の画面が出てきます。 今回はドキュメントを選択してみました。 パスが表示されました。(空白のところはユーザ名です。) プログラムの動きについてですが まず初めに WScript.CreateObject("Shell.Application")で Windowsのshellの機能を呼び出します。 次にshellの機能である BrowseForFolderで フォルダ参照ダイアログボックスを作成し、Folderオブジェクトを返します。 最後に bfolderに格納された…
今回はInputBoxからの文字の入力です。 これを実行すると下のウィンドが開きます。 「26」と入力すると と表示されます。 これで問題ないかに思えますが、実は数字以外の文字列や空白も入力できてしまいます。 ということで数字が入力されるまでループするようにします。 ループにはDo~Loop 文を使用します。 Untilは「~になるまで」という意味です。 IsNumeric()は括弧内が数値であればTrueを返し、それ以外であればFalseを返します。 つまり数値になるまでループし続けるという意味です。 これで数値以外の入力はできなくなりました。
Excel を開いてA1セルに「helloworld」と入力するスクリプトです。 流れ的には Excelのインスタンスの生成 ↓ ウィンドの表示・非表示 ↓ ブックの新規作成 ↓ シートの名前の変更 ↓ シートへの参照を変数に格納 ↓ セルへの入力 ↓ ブックの保存 ↓ Excelの終了 ↓ オブジェクトの解放 「'」はコメントアウトです。
このブログではVBSについて書いていきたいと思います。
「ブログリーダー」を活用して、chacha07さんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。