UNIXユーザにも優しいVBA利用法¶ 特にUNIX系OSに慣れ親しんできた人々の間で、VBAへの拒絶感が強いと思います。 (自分も 2012年2月まではそうでした。:-) Windows系プロダクト / Microsoft に対する感情は人それぞれとして;-)、下記の理由でVBAのコードを管理したくないなーと思っている人は多いのではないでしょうか。 ソースコードのバージョン管理が難しい (バイナリファイルの内部にある) 共有ライブラリ化が難しい (個々のファイルにモジュールが組み込まれる) エディタが選べない (VBAはVBEで書くことが前提) 本ページでは、 vi でコーディング (Emacs でもいいです) Mercurial でバージョン管理 (Git でもいいです) テスト駆動でコーディング (これはまだ模索中) というテーマで、VBAを扱っていきます。 Note VBAは、UN
バッチのまとめTOPへ Windowsのコマンドプロンプト上で,Win32 APIなどのDLLを呼び出して実行する。 例えば,コマンドプロンプトだけで,任意のキー操作イベントをエミュレートできる。 サンプルコマンド: コマンドプロンプトから,画面をキャプチャする。(PrintScreenキーの押下をエミュレート) mshta vbscript:execute("Set a=CreateObject(""Excel.Application""):a.ExecuteExcel4Macro(""CALL(""""user32"""",""""keybd_event"""",""""JJJJJ"""",44,0,1,0)""):a.ExecuteExcel4Macro(""CALL(""""user32"""",""""keybd_event"""",""""JJJJJ"""",44,0,2,0)
VBAの文法一覧です。他の言語をある程度知っている人はこれを読めばVBAの基礎をマスターしてVBAを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1. 基礎 Visual Basic Editorの起動 VBAはVisual Basic Editorで編集・実行します。Visual Basic Editorは次のように起動します。 ExcelやWordのメニューで[ツール]-[マクロ]-[Visual Basic Editor]を選択する 標準モジュールの追加 VBAは標準モジュールに記述します。標準モジュールは次のように追加します。 Visual Basic Editorのメニューで[挿入]-[標準モジュール]を選択する。 変数宣言の強制 変数宣言を強制するため、モジュールの先頭に必ず以下の行を書く
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
またもや「Excel VBAと関係ねぇじゃねーか!」と言われそうですが、今回はMS-DOSコマンドの標準出力を変数に取得する方法を解説します。これはもう、Excelとは関係ないVB系のネタなんですね。ただ実行環境がExcelってだけで(^^; ま、いーや書いちゃえ。MS-DOSって何のことだかわからない人は、自分で調べてください(^^; なお、ここではWindows XP Home Editionを例に解説します。 MS-DOSのコマンドには今でも便利に使えるものが多いですし、何よりネットワークを管理されている方は必須コマンドです。VBやVBAからMS-DOSコマンドを実行するときには、問題が2つあります。1つめはShell関数で起動できないことです。MS-DOSコマンドはいわゆるDOS窓で起動する仕組みになっていますので、Shell関数では起動できません。2つめの問題は、実行結果もDOS
はじめに VBA環境でWindows APIを使ってWebからファイルをダウンロードする方法を紹介します。同時に、バイト型(Byte)配列を使ってVBAでバイナリデータを扱う方法も紹介します。 対象読者 VBA環境からWindows APIを利用されている方 VBAでWebからファイルをダウンロードする必要のある方 VBAでバイナリデータを扱う方 なお、VBAからWindows APIを呼び出す方法については、以下のMSDNなどを参照してください。 MSDN『Office VBA と Windows API』 必要な環境 Windows VistaまたはWindows XP VBA開発環境(サンプルではExcelを使います) WinInet関数 WebからのダウンロードにはWin32インターネット拡張機能(WinInet)を使います。 具体的には、以下の順番でWinInet関数を呼び出しま
ちょっと仕事で必要だったので調べてみました。基本的にはCOMから.NET呼び出しなのでCCWとなるのですが、ググってみるとVB.NETにてComClass属性を使うという例を発見。ComClass属性はVBのみなのでC#からは直接Excel公開は出来ない、という感じでした。が、納得が行かないので、ちまちま試していたらC#でも公開できました。ってか、すごく簡単でした。最初に探した記事はVS.NET時代のなので、VS2005から出来るようになったのかもしれません? 手順は以下の通り。 Excelから呼び出す簡単なアセンブリを作成します。ライブラリプロジェクトを作って、以下のコードを書きます。 using System; using System.Runtime.InteropServices; namespace MyClassLibrary { [ClassInterface(ClassIn
VBAな方には連想配列というのはなじみのない言葉かもしれません。awkにはじまりPerlやJava、ノーツ(LotusScript)でもリストとして実装されているものです。通常の配列の場合は数字をインデックスとして値を格納しますが、連想配列の場合は文字列をインデックスとすることができます。箱を配列とすると値は中身、それぞれの箱に名札(ラベル)を付けることができるので値を取り出すときも感覚的にわかりやすいですよね。それ以外にもメリットがあります。通常の配列の場合あらかじめ領域を確保しておく必要がありますが、連想配列の場合は不要で配列が溢れることを気にする必要がないのです。 Perlでの記述例 $Result{'山田太郎'} = 95; $Result{'鈴木次郎'} = 78; $Result{'田中三郎'} = 83; print $Result{'山田太郎'}; Dictionaryオブ
バッチ・マクロのTOPへ ドキュメント内で面倒な整形 / 抽出 / 変換作業をマクロにやらせたい場合,たいてい下記の8パターンが軸になる。 これだけでVBAの入門として十分だろう。 シート内の処理 (1)全シートのスキャン (2)シート内全行のスキャン (3)シート内の更新イベントを拾う (4)大量データの一括処理 シート外の処理 (5)ファイル出力(書き込み) (6)ファイル入力(読み取り) (7)外部コマンド呼び出し (8)DB接続 これらのサンプルコードを下記に並べて,コピペ可能にしておく。 最後にちょっとした応用として, シートの内容をiPod用分割テキストに出力 というのを載せる。 (1) 全ワークシートのスキャン (2) シート内全行のスキャン (3) シート内の更新イベントを拾う (4) 大量データの一括処理 (5) ファイル出力(書き込み) (6) ファイル入力(読み取り)
This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Office Add-ins documentation Use the Office Add-ins platform to build solutions that extend Office applications and interact with content in Office documents and in Outlook mail messages and calendar items. With Office Add-ins, you can use familiar web t
こちらは独自ドメインからレンタルサーバー、フレッツ接続専用会員までトータルサポートのプロバイダー、BiG-NETです。 いつも弊社ユーザーのページにアクセスをして頂きましてありがとうございます。 http://www.big.or.jp/~seto/vbaref/contents.htm 404 Not Found (ファイルが見つかりません) 申し訳ございませんが、お客様がアクセス要求されました上記ページは、現在アクセスが出来ません。 弊社では、なぜアクセスできないのかと言う第三者からのお問い合わせにはお答えすることが出来ません。 もしこのページの関係者をご存知でしたら、連絡を取ってみることをお薦め致します。 何卒ご容赦下さい。
VBAのコードエディタで使用する拙作のアドインを2種紹介します。JavaDoc風のコメントを挿入するアドインと,コードチップを挿入するアドインです。ほんの少しだけVBAのコーディングの助けになります。 コメント挿入アドイン JavaDoc風のコメントを挿入するアドインです。プロシージャ毎/全てのプロシージャ/モジュールに対してコメントの挿入や削除ができます。 インストール こちらから,アドインのインストーラをダウンロードして,解凍した後,setup.exe を実行してください。その後,VBAエディタ画面で,アドイン(A) > アドインマネージャ(A) で,ロード/アンロード と 起動時にロード のチェックを入れて有効にしてください。 使用法 OfficeのVBAエディタ画面で,アドイン(A) > コメント挿入 を選びます。 メニューダイアログが表示されます。 どれかのボタンをクリックしてく
CSVをUTF-8で保存する † 通常のSave機能ではUnicodeまでしか指定できないが、いくつか方法はある フリーのモジュールを使用する方法 http://www.vector.co.jp/soft/winnt/prog/se320375.html ADODB.Streamを使う方法 Dim myFileName As String Dim myPath As String Dim NewFileName As String myFileName = ActiveWorkbook.name myPath = ActiveWorkbook.Path Dim outbook As Workbook Set outbook = ActiveWorkbook Dim sht As Worksheet Dim i As Integer For i = 1 To ActiveWorkbook.W
VBSとVBAでそれぞれツールを作っていたのですが、 両方とも一度に実行したいと思い、VBSからVBAを呼ぶ事にしてみました。 VBSでVBAのマクロ呼び出しのボタンを押下し、保存するところまでを行います。 ExcelのApplicationオブジェクトである「Excel.Application」のオブジェクトを作成します。 Dim ExcelApp Dim ExcelBook Dim FilePath FilePath = "ExcelVba.xls" Set ExcelApp = CreateObject("Excel.Application") Set ExcelBook = ExcelApp.Workbooks.Open(FilePath) ExcelApp.ActiveWorkbook.Worksheets("マクロ呼び出しのボタンのあるシート名").select ExcelAp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く