ExcelとProgrammingに関するmintsackのブックマーク (18)

  • オブジェクト指向プログラミングに関して、VBAで出来ないこと - だるまのエクセルVBA

    ここでは、オブジェクト指向プログラミングに関して、VBAで出来ないことについて説明します(※1)。 VBAでオブジェクト指向プログラミングをするときは、設計段階でVBAで何が出来ないのかを把握しておく必要があります。 出来ないことを他の方法で回避しようとすると、ソース行数が増えたり、デバッグが面倒なことになるということを覚えて欲しいです。 (実装や単体テストに工数がかかるようになるということを覚えて欲しいです。) ----- ※1:出来ることを説明するのではなく、出来ないことを説明する理由は、GoogleVBAのヘルプにて、出来ることを調べるのは意外と簡単なのですが、出来ないことを調べるのはとても難しいからです。 (出来ないことはヘルプに載っていないことが多く、検索条件が悪かったのかの判断が難しいためです。) 1.継承がサポートされていない VBAでは継承がサポートされていません。 ※1

  • トップページ - You.Activate

    このサイトの目的 このサイトはITスキルの向上を目指す方を応援するため、私がこれまで培ってきたノウハウを公開する目的で作りました。主にVBAについて掲載しています。 サイト名のYou.Activateについて VBAをメインコンテンツにしようと思ったので、VBAの命令っぽくしてみました。 You.Activateは、あなたを活性化させるという意味の、架空のVBA命令です。VBAにそんな命令はありませんが、Me.Activateという命令が実際に存在します。 ダウンロード プロフィール ブログ

  • VBA コーディングガイドライン - You.Activate

    このガイドラインについて システム開発の会社には、通常コーディングルールというものが存在します。それぞれ会社ごとに異なりますが、コードの品質を一定に保てるよう各社工夫されているようです。 VB.NETやC#、Javaにはコーディングルールを集めた書籍が存在します。 VB.NETルールブック ~読みやすく効率的なコードの原則 C#ルールブック ~読みやすく効率的なコードの原則 Javaルールブック ~読みやすく効率的なコードの原則 これらは何もシステム開発の標準というわけではありませんが、一例として誰でも見られる形で販売されているのは素晴らしいことです。 私はVBAにおいても一応指針となるようなものが欲しいと思い、そのような書籍を待ち望んでいますがどうにも発売される気配はありません。 一応QiitaというサービスでExcel VBAコーディング ガイドライン案というものを見つけましたが、少し

  • VBA クラスモジュールでRangeの仕組みを説明する - t-hom’s diary

    昨日公開した以下の記事について、比喩ではちょっと難しいという声をいただいたので、今回はクラスモジュールを使って私が想像するRangeの仕組みを具体的なコードで解説しようと思う。 thom.hateblo.jp まずはSheetの模擬クラスとRangeの模擬クラスを用意する。 物と同じ名前にしてしまうと、メインコードで使う際にちゃんと自作の方を使ってるの?という疑惑につながるので、オブジェクトの名前はオリジナルにしておこう。 Sheetの代わりにSheeeet、Rangeの代わりにoRange(オレンジ)。 まずSheeeetのコードはこちら Private table(1 To 9, 1 To 9) As String Property Get oRange(adddresss As String) As oRange Dim ret As oRange: Set ret = New o

    VBA クラスモジュールでRangeの仕組みを説明する - t-hom’s diary
  • [VBA]クラスを定義する(ちょっと応用) - Qiita

    VBAでのクラス定義の基礎はこちらhttps://qiita.com/Kamo123/items/a4c7749fa30d8f68df28 デフォルトプロパティを設定する デフォルトプロパティとは、RangeオブジェクトのValueプロパティなど、プロパティを省略すると取得されるやつです。 自作クラスに設定してみます。 元のクラスとして、以下のPersonクラスを考えます。 Option Explicit ' プロパティ Private Name As String ' メソッド Public Sub SayHello() MsgBox "Hello, I'm " & Name & "!" End Sub ' プロパティプロシージャ Property Get MyName() As String MyName = Name End Property Property Let MyName(

    [VBA]クラスを定義する(ちょっと応用) - Qiita
  • VBAのお勉強 - Qiita

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

    VBAのお勉強 - Qiita
  • VBAのコーディング指針(案)【クラスの使いどころ(オブジェクト指向的なVBAの考察)】 - Qiita

  • オブジェクト指向をロボに例えて説明したら、すげーわかりやすくて震える。-初心者のためのExcel エクセルマクロVBA入門 - 初心者のためのExcelマクロ超入門(絶対できるVBA開発)

    エクセルのマクロをマスターするにはプログラミング言語であるVBAとプログラミングの基礎を学びましょう。ということはずーっとこのブログで主張してきました。ただの動作を記録するような「マクロの記録」をするだけでは、一生マクロを覚えることは「不可能」です。ということも私の意見として述べてきました。だってプログラミングわからんとマクロをゼロから組めないもの。。。 ではどうしたらいいのか? VBAを覚えるのに一番のキモは「オブジェクト」 ほぼ断言できるのですが、エクセルのマクロVBAにおける「オブジェクト」と「オブジェクト指向」というのがどういうものか?ということをしっかりと理解できれば、後はもう簡単だということ。 うん、ほぼだけど断言できると思います。 おそらくここを理解できるかどうか?がマクロマスターになるための一番の勘所だと言っていいです。 これも以前から言ってますが・・・ オブジェクトを理解

    オブジェクト指向をロボに例えて説明したら、すげーわかりやすくて震える。-初心者のためのExcel エクセルマクロVBA入門 - 初心者のためのExcelマクロ超入門(絶対できるVBA開発)
  • ExcelからSQLiteを使う理由その2

    Excelは非常にいいアプリです。PCを買ってくれば、最初からOfficeが入っていて、当然Excelも使えるようになっていたりしますよね。したがってたいていの会社ではExcelはほぼすべての人がひととおり使えるようになっています。 データの入力や加工が容易で、データ分析したり、グラフを作ったりが簡単にできます、 筆者が最も気に入っているところは、その操作性もさることながら、Windows上で動くほぼすべての種類のアプリを開発できるところです。しかしExcel単独でアプリを作ると、データ件数が多くなるにつれて、起動時間や動作時間が長くなってきます、項目数やデータの文字数によって全然違いますが、感覚的にはデータが一万件をこえるとそのスピードが気になってきます。 そこで筆者は、業務システムとして使うときには、Excelとデータベースを連携してシステムを開発するようにしています。フロントエンド(

  • 閉じたブックからデータを取得する:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    閉じたブックからデータを取得する (Excel 97/2000/2002/2003/2007/2010/2013/2016) ツイート ブックを開かないで、ブックのデータを読む方法を紹介します。 ここで言う「開く」とは、Excel上に読み込むことを指します。 サイズの大きなブックでは、Excelで開くだけでも時間がかかる場合があります。 ここでご紹介する方法を使えば、そうした時間的なロスを避けることができます。 ブックを閉じたままデータを読むには、Excel 4.0のマクロを使います。 次のコードは、C:\Book1.xlsのSheet1のセルA1を読んで表示します。 Sub Sample1() MsgBox ExecuteExcel4Macro("'C:\[Book1.xls]Sheet1'!R1C1") End Sub Excel 4.0マクロを使うにはExecuteExcel4Mac

  • Excel VBAマクロ パスワード解除方法

    Excel VBAでパスワードロックを解除する方法です。 VBAのパスワードロックは、ユーザーがプログラムを変更できないよう制限する為に設定するものです。しかし、時にパスワードが紛失するということがあります。「パスワードを忘れてしまった」「開発者が退職し、パスワードがわからない」などが理由として多いのではないでしょうか。 ひどい案件でVBAのパスワードがかかったまま渡され、担当者に聞いたところ「知らない」と言われて途方に暮れるプログラマーもいたと聞いたことがあります。 そんな方たちの助けになればと、VBAのパスワード解除方法を紹介します。 くれぐれも悪用したり、他人の著作物を覗き見るような不正はしないでください。 全て自己責任において実施してください。当方では一切の責任を負いません。 今回は Windows7 / Excel 2010 を使って検証しました。Excel 2007 以降であれ

    Excel VBAマクロ パスワード解除方法
  • ブラウザのビジー状態を判定するための,より良い方法 (WSHでIEを自動操作する際,COMのアプリケーションイベントを利用する) - 主に言語とシステム開発に関して

    バッチのまとめTOPへ ActiveX経由でCreateObject("InternetExplorer.Application") などして,IEを自動操作する際, 「ブラウザのビジー状態の解除の判定」は,正確にやろうとすると結構難しい。 よくあるのは, (DOM操作)ブラウザ上で,submitボタンクリック ↓ (While文とかで)ie.Busy == true もしくは ie.readyState != 4 の間,待機。 ↓ While文を抜けたら,待機終了。次の画面に遷移したとみなす。 ↓ DOM操作を再開する。 という方法。 この方法では,IEオブジェクトの持つプロパティを基準にして判定している。 よく使われる方法ではあるが,これだと,思わぬ判定結果が返ったりする。 「まだ画面遷移が終わっていないのに,While文から抜けてしまった。」というケースがよくある。 その場合,次画面

    ブラウザのビジー状態を判定するための,より良い方法 (WSHでIEを自動操作する際,COMのアプリケーションイベントを利用する) - 主に言語とシステム開発に関して
  • 三流解説 VBA IE

    挨拶:VBAで(ExcelやAccessなどから)InternetExplorer WebBrowserを操作してみたいと思います。 入り口が大きく2つじゃないですが、 1.Set オブジェクト変数 = CreateObject("InternetExplorer.application") と 変数に代入してから オブジェクト変数.メソッド 変数.プロパティ みたいに使う方法 2.ExcelのUserFormにWebBrowserのコントロールを貼り コントロール名.メソッド コントロール名.プロパティ まぁ、どちらから入っても .メソッド .プロパティ を 探らないといけないのですが。。 コードを書くとき、探る時、参照設定しておくと .ドットをタイプした時にメソッドやプロパティが表示されるので便利です。下記 私が操作した参照設定の方法です。 ※はじめの一歩として、参照設定してくださいね

  • 自由が丘のマクロ少女 ~妹に教えてもらう!ExcelVBA講座~

    更新とかお知らせとか ExcelVBAによるInternetExplorer制御講座 ~ひらく、さわる、うごかす~ 2011.7.22 Web版サンプルコード&解説を公開しました New! お兄ちゃんのためのExcelVBA超入門 2011.6.20 2日目前半を公開しました! ご紹介・リンクいただいているサイトさま 2011.6.12 ExcelMVP・近田伸矢さまのHPからExcelVBAおすすめリンクいただきました!(プロフィール) New! 2011.6.8 ExcelMVP・武藤玄さまのブログで妹たちをご紹介いただきました!(プロフィール) New! 2011.5.30 コミPo!公式ブログさまでご紹介いただきました! 2011.5.26 窓の杜さまでご紹介いただきました! 2011.5.21 コミPo!ジグソーパズルに「自由が丘のマクロ少女」を製作いただきました! これは何か?

  • Excel VBA入門

    Excel でこれから VBA を使ってみたいという方を対象にした VBA 入門です。 VBA とは Visual Basic for Applications の略で Excel や Access などで利用できるプログラミング言語の1つです。 VBA を使うことで手動で行っている定型的な業務などを自動化させたり、独自のフォームなどを作成して Excel をアプリケーションのように見せることなどができます。ここでは Excel での VBA の使い方についてサンプルを使いながら解説していきます。 ※ Excel でマクロを記録する方法などについては「Excelマクロ入門」を参照されてください。

    Excel VBA入門
  • VBAでIEのフレーム内の値を取得 | IE操作の自動化

    フレーム処理のマクロSub sample() Dim objIE As InternetExplorer Dim objFrame As Object 'テスト用フレームページを表示 Call ieView(objIE, "http://www.vba-ie.net/code/test2.html") 'フレーム情報取得 Set objFrame = objIE.document.frames 'h1タグのテキスト抽出 Debug.Print objFrame("frame2").document.getElementsByTagName("h1")(0).innerText End Sub

  • Office TANAKA - Excelコンテンツ

    Excelコンテンツ Home Excel セミナーとイベント VBA 機能と数式 Excel 2016レビュー Excel 2010レビュー Excel 2007レビュー MacExcel 2016レビュー 現在執筆中です…しばらくお待ちください。

  • 1