タグ

VBAに関するnunohitoのブックマーク (24)

  • VBAで関数型プログラマーの思考法を学ぶ - t-hom’s diary

    これは私に関数型言語の素晴らしさを教えてくれたである。 プログラミングGauche 作者:KahuaプロジェクトオライリージャパンAmazon プログラミングGauche(ゴーシュ)。 一度売ってしまったのだけど、どうしてもそののコラム「Lisp脳」の謎に迫る-Schemeプログラマの発想がもう一度読みたくなって先日ついに買い戻してしまった。 そのコラムは手続き型の思考と関数型の思考の違いについて説明したもので、初めて読んだときはあまりに考え方が違うので衝撃を受けた。 これはGaucheという言語※のなので、コラムのコードも当然Gaucheで書かれているのだが、今回はこのコラムの内容をVBAのコードに置き換えて紹介ようと思う。 ※厳密にいうとGaucheは処理系の名称なので、言語名はSchemeだけど、どういうことか説明しだすとややこしいので割愛。 さて、その前に関数型言語について。

    VBAで関数型プログラマーの思考法を学ぶ - t-hom’s diary
    nunohito
    nunohito 2018/05/07
  • ListObject (テーブル)

    メインメニュー EXCELVBAEXCEL操作 ・リボンに[開発]タブを表示する ・リボンをカスタマイズする ■ VBE操作 ・その他のコントロールを追加する ■ オブジェクト ■ ListObject オブジェクト ■ ListView オブジェクト ■ TreeView オブジェクト ・ TreeView使用例① 鉄工所データベース ■ 購買データベース ・ EXCELで鉄工所に適したデータベース ・ ベースとなるテーブルを作成する ・ レコードの編集フォームを作る ・ 編集フォームに変更と追加ボタンを作る ・ テーブルを保護・非表示にする ・ アイテムテーブルを作成する ■ 製品データベース ・ ■ 加工データベース ・ 鉄工所マネジメント ・ダイス管理 旋盤カスタムマクロ ■ カスタムマクロの基 ・プログラマブルパラメータ入力 ・カスタムマクロを非表示にする ・G71外径

    nunohito
    nunohito 2017/06/13
  • リスト・テーブルの行(ListRows, ListRow)

    ListRows コレクションは、テーブル・リスト(ListObject オブジェクト )内にあるすべての行(レコード)を表します。 ListRows コレクションを取得するには、ListObject オブジェクト の ListRows プロパティ を使用します。

    リスト・テーブルの行(ListRows, ListRow)
    nunohito
    nunohito 2017/06/13
  • VBA カテゴリーの記事一覧 - t-hom’s diary

    Arduino等を使った電子工作で複数スイッチを使いたいとき、スイッチの数だけピンを使ってしまうとあっという間にピンが足りなくなってしまう。組み込むスイッチ数が多い場合は、抵抗の分圧回路を使ってアナログピンに掛かる電圧を読み取ることで、1つのアナ…

    VBA カテゴリーの記事一覧 - t-hom’s diary
    nunohito
    nunohito 2017/06/13
  • 北京快3网站|北京快3官网

    nunohito
    nunohito 2017/03/08
  • コーディング技法

  • Outlook 研究所

    RPAExcel マクロなどで Outlook オブジェクト モデルを使用して MailItem の Send メソッドによりメールを送信した際に、メールが送信されずに送信トレイに滞留したままの状態となる場合があります。 これは以下のような条件で発生します。 メールを送信する際に Outlook が起動していない インターネット アカウントを使用しているか、Exchange アカウントでキャッシュ モードを有効にしている Send メソッドで送信した後、すぐに Outlook のオブジェクトを開放している メールサイズが大きかったり、一度に複数のメールを送信するなど、送信処理に時間がかかる状況である 上記の条件でメールが送信されない場合があるのは、Outlook の送信処理が以下のような順序で行われるためです。 Send メソッドが実行されると、メールが送信トレイに保存され、送信のた

    Outlook 研究所
  • WindowsでExcelをいじるコードを書く最適解 - Qiita

    WindowsExcelをいじくり倒すコードを書く最適解を探す旅路 複数エクセルの大量データをプログラムでいじくる。 要件 WindowsExcelはじめとする様々な操作を行いたい。 Excelで数百-数千行の配列をいくつも扱いたい windowsで、exeとしてまとまった形で実行したい GUIがほしい 実行中にその動作を監視したいが、プロセスがとられて動かなくなるのはもちろん嫌だ。 要するにExcelなどのコントロールを行いながら、 「ぱっとみ普通のアプリケーションにしたい」 という要件を叶えるためにgoogleさんにお世話になりまくったが、どこにも最適解だと思われるものは載っておらず、大変だったのでメモっておく。 僕のやり方が当に最適解か、というのはわからないけど、こういったテキストで助かる人がいればと思い、せめて。 解法1 VBA VBAとはExcelに付属のマクロで、Visu

    WindowsでExcelをいじるコードを書く最適解 - Qiita
  • 汎用的なツールで作るDB→Excel→メール配信の自動システム

    汎用的なツールで作るDBExcel→メール配信の自動システム:Windows環境でちょっとした定型業務を自動化する(1/2 ページ) データベースから抽出したデータをExcelブックのレポートにまとめてメールで配信する。よくある業務だが、自動化するにはどうすればよいのか? 筆者が実際に作成して現在も運用中のシステムを例に、幅広く応用しやすい汎用的なツールによる自動化手法を説明する。 連載目次 社内のデータベース・サーバから定期的に必要なデータを抽出し、レポートとして配布する、というのはよくある業務だ。レポートの体裁を整えたり配布先のメール・アドレスを設定したり、といった作業は定型であり、しかも手作業だと意外に時間をわれるので、ぜひ自動化したいところだ。 ただ、自動化といってもその手法はさまざまだ。できることなら、多くの業務に応用しやすい「つぶしの効く」手法を身に付けるのが望ましい。そこ

    汎用的なツールで作るDB→Excel→メール配信の自動システム
  • SeleniumBasicでExcelVBAからFirefoxを自動操作するための覚書

    ※2016.02.06 一度開いたFirefoxのウインドウを使い回すコードを修正。 Excel VBAでFirefoxを操れる素晴らしいツール。それがSeleniumbasic。 以前はSeleniumVBAという名称だったが、昨年秋ごろにSeleniumBasicに変わった。今後SeleniumVBAの方はメンテされないそうなので注意。 インストール ダウンロードページからインストーラをダウンロードして実行する。2016年2月2日現在はSeleniumBasic-2.0.7.0.exe。 インストール先は%LOCALAPPDATA%\SeleniumBasic。 インストーラの最後に、Firefoxアドオンを入れるかどうか聞かれる。これを入れておくと、Firefoxの操作を記録してコードをエクスポートすることができる(Excelのマクロ記録に近い感じ)。だけど、私は今のところ使っていな

    SeleniumBasicでExcelVBAからFirefoxを自動操作するための覚書
  • ExcelVBAのバージョン管理方法 - Qiita

    目的 この記事ではExcelVBAでバージョン管理を行う方法について説明する。 以下のようにWinMergeの差分機能を用いることで、VBAの差分を表示することが可能である。 手順 WinMergeの準備 WinMergeのダウンロードを行う ダウンロードページより「Excelからテキストへの変換プラグイン」のExcelToText.sctをWinMergeのMergePluginsフォルダにコピーする。 例:"C:\Program Files\WinMerge\MergePlugins" WinMergeを起動してプラグインの自動展開を選択する Excelの準備 Excel 2003の場合 Excelを起動 [ツール]→[マクロ]→[セキュリティ] [信頼できる発行元タブ]を選択する。 [Visual Basic プロジェクトへのアクセスを信頼する]にチェックを付与する。 Excel 2

    ExcelVBAのバージョン管理方法 - Qiita
  • MSAccess 全クエリをテキスト出力する方法。 » ブロードヒューマンネットワーク社員ブログ

    こんにちは、コブラです。 Accessの全クエリから特定のカラムを見ているかどうかを調べるのに、 クエリを1つ1つ開いていたら時間がかかりすぎてしまうなあ…と思っていたら、 それを解決する策が見つかりました。 Access の全クエリーの SQL から文字列検索 – カイジのプログラマー日記様 Private Sub Command_Click() Dim Dbs As DAO.Database Dim Qdf As DAO.QueryDef Dim FileName As String Dim FNum As Integer Dim stSQL As String Dim ret As Double ' データベースセット Set Dbs = CurrentDb 'Set Dbs = DAO.OpenDatabase("c:\test.mdb") ' DBの指定がある場合 ' ファイルを

  • Excel VBAコーディング ガイドライン案 - Qiita

    ここで記述する内容はあくまでガイドライン、指針の案にすぎない。この規約を守るためにコードを作るのでなく、よいコードを作るためのガイドラインにすぎない。このガイドラインがよいコードを作るのに障害になる場合は、ガイドラインを変えるか、ガイドラインを使用しない。 つまり、このガイドラインは必要に応じて、変更されることがある。 もし、ガイドラインを考える場合、VB6の規約が参考になる。 Visual Basic Coding Conventions 宣言について 変数の宣言を強制する モジュールの先頭に下記の構文を記述して型の宣言を強制すること。 この宣言は下記の手順で自動で作成することもできる。 【ツール】→【オプション】 【編集】のタブを選択 【変数の宣言を強制する】をチェックする。 理由 変数名の記述ミスがあった場合、コンパイル時にそのミスを検知できる。 暗黙の型は使用しない VBAで変数の

    Excel VBAコーディング ガイドライン案 - Qiita
  • VB Code Indenter

  • VBA 自作のCollectionクラスをFor Eachでまわす裏ワザ - t-hom’s diary

    以前以下の記事で書いたものは、デフォルトプロパティの設定だった。 thom.hateblo.jp しかしその後、海外のサイトでさらにすごいテクニックを発見。 http://www.papwalker.com/ref101/ccol.html かいつまんで説明する。 まずクラスモジュールを作成し任意のクラス名にしておく。 ここではMyCollectionというクラス名にした。 そして以下のコードを張り付ける。 ※2015/10/03 「項目」メンバがSubになっている間違いがありましたのでFunctionに修正しました。 Dim 内部コレクション As Collection Private Sub Class_Initialize() Set 内部コレクション = New Collection End Sub Public Sub 追加(対象, Optional キー, Optional B

    VBA 自作のCollectionクラスをFor Eachでまわす裏ワザ - t-hom’s diary
    nunohito
    nunohito 2016/04/12
  • VBAのお勉強 - Qiita

    私的メモがき程度だけど手をつけ始めたので、一応メモ。 モジュール エクセルVBAでは標準モジュール、クラスモジュール、ユーザーフォームの3種類のモジュール(※1)を作成することが出来ます。 このページではこの3つのモジュールの特徴と、どのようなときに使用するのかについて説明します。 標準モジュールの役割は、プロジェクト内のモジュールで共有して利用されるサブルーチンなどを用意することです。 フォームモジュールは、ユーザーインターフェイスのデザインとその管理がおもな役割です。実際の処理内容を標準モジュールに分けて記述することで、プロジェクトの煩雑化を抑えたり、モジュールの再利用性を高めたりします。 クラスモジュールはクラスを定義する場所です。クラスモジュール内のプロシージャを、直接 他のモジュールから呼び出したりすることはありません。 クラスモジュール VBAのクラスモジュールを作るときの作法

    VBAのお勉強 - Qiita
  • クラスの作成と使い方[ExcelのVBA]

    クラスを作成するには「挿入」メニューから「クラスモジュール」を選択します。そして次にクラス名を今回は「MyCls」と変更します。 もう、いきなりソースコードを書きますね :-) クラス側 Option Explicit ' クラスのメンバ変数 Private m_Value As Long ' 現在位置の保存用 ' クラスのコンストラクタ Private Sub Class_Initialize() Debug.Print ("--- コンストラクタ(クラス初期化時のイベント) ---") m_Value = 50 End Sub ' クラスのデストラクタ Private Sub Class_Terminate() Debug.Print ("--- デストラクタ(クラス破棄時のイベント) ---") End Sub ' クラスのプロパティ(取得用) Public Property Get

    クラスの作成と使い方[ExcelのVBA]
  • 『共通定数を定義してみる』

    VBA (マクロ) 作法/コーディング規約 集約中 ~ メタボなコードにサヨナラしよう VBA(マクロ)に関して、コーディング規約、クラスモジュールやDBアクセス等、実験結果や探すのに苦労した情報を中心に掲載しています。 閲覧した方のお役に立てれば幸いです。

    nunohito
    nunohito 2016/04/12
  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
  • 【エクセルVBAでIE操作】10分で終わるセッティングとWEBページの閲覧確認 | 隣IT

    エクセルVBAでWEBスクレイピング ネット上にある情報を1回だけ取りに行くだけなら、そのページを開いて情報を入手するVBAプログラムを組むのはバカバカしいですが 定期的に特定のサイトの情報を収集している 例1:ランキング 例2:金融情報 同じタイプの大量のページから情報を収集する 例3:カタログ などの場合はプログラミングをしたほうが楽をできます。 WEBスクレイピングというのですが、IEを操作してWEBページのデータを取得して、エクセルのデータとして取りこんだり加工したりということを自動で行うプログラムを組むことができます。 いったんプログラムを組んで実行すればコンピュータが自動で確実にやってくれます。その間、みなさんはお茶会でもしていればOK。 必要なものはエクセルとIEだけ。ほとんどの方はお仕事PCに入っていますでしょ? 今からちょこっと勉強してできるようになっちゃいましょう!

    【エクセルVBAでIE操作】10分で終わるセッティングとWEBページの閲覧確認 | 隣IT
    nunohito
    nunohito 2016/04/12