タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとProgrammingとvbaに関するzaki1010のブックマーク (24)

  • VBAで外部ツールを使わずに簡易テスト駆動開発をやってみる。 - t-hom’s diary

    最近会社の会議でTDDが話題になった。 TDDとは何か?まずWikipediaを引用してみる。 テスト駆動開発 (てすとくどうかいはつ、test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これをテストファーストと言う)、そのテストが動作する必要最低限な実装をとりあえず行った後、コードを洗練させる、という短い工程を繰り返すスタイルである。 テスト駆動開発 - Wikipedia 話題になったのは、「プログラムできてないのにテストを書けるの?」ということ。 答えは「Yes」 イメージとしては成果物が満たすべき要件を、最初からテストの形式で定義する感じ。 ちょっとやってみよう。 例えば数値を与えるとExcelの列記号に変換するプログラムを考える。 成果物イメージ 以下は成果物をイメージしやすくするため

    VBAで外部ツールを使わずに簡易テスト駆動開発をやってみる。 - t-hom’s diary
  • プログラムコード中に値(あたい)は登場しない - t-hom’s diary

    VBAに限らず全てのプログラミング言語で言えることだが、コード中に値(あたい)が直接登場することは無い。 最近、「値とは何か」ということを掘り下げて考えることがあり、ようやくこの結論に行きついた。 たとえば、数字の「1」。これは一般的に値だと理解されるが、表面的には単なる文字にすぎない。 「ひとつ」という概念を表した文字だ。 「1」という値が現れるのは、その文字を見た人の頭の中である。 値は確かに存在するが、書かれた文字は単なる記号でしかない。人が理解することで、初めて値が現れる。 プログラミングにおいても同じことが言える。 コンピューターは物事の概念を理解しないが、しいていえばコンピューターにとっての値とは、CPUが直接処理可能な「電気信号」である。 ただしブログ上に電気信号を書き表すというわけにもいかないので、便宜上スイッチのON・OFFを1と0で表した二進数で説明する。 たとえば次の

    プログラムコード中に値(あたい)は登場しない - t-hom’s diary
  • VBA コーディングガイドライン - You.Activate

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

    zaki1010
    zaki1010 2019/08/16
    ググって見つかる他の規約より納得感が高い。
  • VBDepend :: Achieve Higher VB6/VBA code quality

  • VBA クラスライブラリをアドインにまとめてメインマクロをスッキリさせる方法 - t-hom’s diary

    今回は公開されている既存のライブラリ「Ariawase」を使って解説したいと思う。 Ariawaseは次のページから入手できる。 github.com ページを開くと右下のほうにZipでダウンロードできるボタンがあるのでこちらを入手する。 zipを解凍するとbuild.batファイルがあるのでそれを使ってビルドするのだが、あらかじめExcelでマクロのセキュリティを次のように設定しておく必要がある。 そしてbuild.batを実行すると、binフォルダが作成され、その中に「Ariawase.xlsm」が入っている。 Ariawaseは便利なライブラリなのだが、以下を見てのとおり、モジュール数が多いのが難点である。 そもそも自由にモジュールを入れるフォルダを作れたら何も問題はないのだが、VBAでは残念なことに標準モジュール・クラスモジュールなどのデフォルトフォルダの配下をさらに整理することは

    VBA クラスライブラリをアドインにまとめてメインマクロをスッキリさせる方法 - t-hom’s diary
  • VBAに新時代が到来しました。 - ClockAhead 開発Blog

    まえがき朝、目が覚めると、元エクストリームVBA-er であらせられる@igeta氏が ウワアァァ!! https://t.co/TQQwEfuqN5 — いげ太 (@igeta) 2015, 3月 9とんでもないものをTwitterのタイムラインに投下されていました。 1990年代前半から時が止まってしまったかのようなVBAの開発環境 VBE(Visual Basic Editor)に、現代の統合開発環境(IDE)並の機能を追加するクレイジーなアドインが登場したようです。 現代に舞い降りたまさに狂気の権化、その名もRubberduck。 さあ、キミたち、ラバーダックのレポを書くんだ! — いげ太 (@igeta) 2015, 3月 10とのことなので、簡単にレポートを書いてみたいと思います。 レポートインストールは至極単純です。RubberduckのgithubリポジトリのRelaseペ

    VBAに新時代が到来しました。 - ClockAhead 開発Blog
  • GitHub - tcsh/text-scripting-vba: Modules for text scripting on VBA

  • vi で書こう VBA — Text Scripting on VBA

    UNIXユーザにも優しいVBA利用法¶ 特にUNIX系OSに慣れ親しんできた人々の間で、VBAへの拒絶感が強いと思います。 (自分も 2012年2月まではそうでした。:-) Windows系プロダクト / Microsoft に対する感情は人それぞれとして;-)、下記の理由でVBAのコードを管理したくないなーと思っている人は多いのではないでしょうか。 ソースコードのバージョン管理が難しい (バイナリファイルの内部にある) 共有ライブラリ化が難しい (個々のファイルにモジュールが組み込まれる) エディタが選べない (VBAはVBEで書くことが前提) ページでは、 vi でコーディング (Emacs でもいいです) Mercurial でバージョン管理 (Git でもいいです) テスト駆動でコーディング (これはまだ模索中) というテーマで、VBAを扱っていきます。 Note VBAは、UN

    zaki1010
    zaki1010 2014/11/12
    VBAソースコードをOfficeファイルの外に出す方法とそのためのツールが紹介されている。
  • 【VBA】Environ関数 - B-Teck!

    Environ(Expression) 実行されたPCの環境変数を取得する関数。 実行時に指定した環境変数が存在しない場合は長さ0の文字列("")を返す。 expression:環境変数を指定する文字列か、環境変数の番号を指定する。 主に利用されやすい環境変数として以下のものがある。 PATH 環境変数 HOMEDRIVE プライマリのドライブ HOMEPATH ユーザー用ディレクトリ USERNAME ユーザー名 USERDOMAIN ドメイン名 WINDIR システムディレクトリ 環境変数を名称で指定する場合のサンプル Sub environTest() Debug.Print Environ("USERNAME") Debug.Print Environ("WINDIR") End Sub 環境変数の名称については、以下のコードを実行すると自分のマシンに設定された環境変数を一覧するこ

    【VBA】Environ関数 - B-Teck!
  • 【改訂版】プログラミング初心者がExcelマクロ/VBAを始めるための入門電子書籍全273ページを無料で提供

    もはや日のオフィス業務で欠かせない存在となったExcel。表計算ソフトウェアの枠にとどまらず、そこで行われる業務は多岐にわたる。データ集計/分析、プロジェクト管理、資産管理、勤怠管理をはじめ、リポート機能を駆使して、Excel自体を販売や会計などにおける業務文書/帳票、設計書、納品資料として扱う例もある。 さまざまな業務で扱われるExcelだが、その操作や入力は、マウスやキーボードで行われることが多く、多少詳しい人でも、数式や関数、入力規則を使う程度だろう。繰り返される手作業に「時間の無駄」「人的コストの増大」を嘆く方も少なくないはずだ。 だが、これらの問題を解決する機能をExcelは持っている。それが、マクロ/VBA(Visual Basic for Applications)だ。業務で行う操作を一度マクロとして記録し、そこで生成されたマクロコードを編集することで自動化できる業務は多く

    【改訂版】プログラミング初心者がExcelマクロ/VBAを始めるための入門電子書籍全273ページを無料で提供
  • 中級者のためのExcel エクセルマクロVBA入門:On Error Goto を極める! - 初心者のためのExcelマクロ超入門(絶対できるVBA開発)

    すんごい久しぶりっす。申し訳ない。別にわすれてたわけではありません。単に忙しかっただけです。でもブログはのんびり自分のペースで続けます。オス。 今回は、エクセルマクロをもっとオブジェクティブに使ってみたいと思います。今回はマクロを組む上で欠かせないエラー処理を極めます。これ使うとぶっちゃけすごい便利。 目的はエラー処理を一定の書式で同じ法則で入れられること これ。マクロをどんどん組んでいくとどんどん複雑化していきます。その中でエラー処理をどのように拾っていくのか?ということが非常に重要になっていきます。場所によって処理の仕方や、内容が変わってしまうと、マクロ1の中に同じエラー処理なのにいろんな書き方存在してしまい、非常に煩雑化します。もちろんその後のメンテナンスにも関わってきますよね? これを共通化するのが目的です。今回は中級者よりのお話なのでオブジェクトとは?は勿論理解しているし、クラ

    中級者のためのExcel エクセルマクロVBA入門:On Error Goto を極める! - 初心者のためのExcelマクロ超入門(絶対できるVBA開発)
  • 賽の河原でVBAを組むプログラマに捧げる - ClockAhead 開発Blog

    という、それだけの話なのですが、プラチナサーチャー、大変便利です。 VBAを使わざるを得ない状況に陥っているプログラマの皆様におかれましては、vbac (VBAコードのエクスポータ)と組み合わせて、ぜひどうぞ! というわけで、『何の因果かVBAでコードを書かれているプログラマ(きっと前世で何かとんでもない悪行を行ったに違いない)』の皆様に向けて、少しでもVBAのコーディングが楽になるよう vbacとptの話をしたいと思います。 以下、VBAでコードを書く上で個人的に超絶お世話になっている便利ツール pt と vbac について書いてます。 【vbacについて】 vbac(vbac is not VBA Compiler)についてプログラマ向けに簡単に説明すると… いげ太 @igeta さん作のVBAコードをエクスポートするツール JScript製で、単体で動作。 Excelを立ち上げること

    賽の河原でVBAを組むプログラマに捧げる - ClockAhead 開発Blog
  • VBAでメタプログラミング 動的にテスト関数を検索して実行する

    VBAは、言語的には、VB6ベースの言語で、自由も無い言語ですが、エクセルを読んだり書いたりするような、ちょっとしたツールを作成するのには便利だったりする。でもさすがにVBなので、プログラミングしてるといろんなところで我慢しなければならないことが多い。 以前、ユニットテストモジュールみたいなものがあった方がいいかと思ったこともあったけど、引数の無いSubを定義して、カーソルがSubのところにある状態でF5を押すだけで、そのテストメソッドを実行することができるので、今はこの方法でテストメソッドを実行している。assert文は、Debug.Assertというのがあるが、これまた微妙なもので、引数がTrueになるときにはなにも起こらず、引数がFlaseになるときはデバッグモード(ブレイクポイントで止まった状態になる)になるだけ。テストの自動化は難しそうだけど、今はこれを使ってテストメソッドを書い

  • バッチ職人になろう (WindowsとLinux上での開発業務を自動化するノウハウ集) - 主に言語とシステム開発に関して

    なぜバッチ職人になる必要があるのか Windows コマンドプロンプト WSH / JScript VBA UWSC PowerShell Linux Bash クロスプラットフォーム OpenOfficeマクロ 補足 ※↑ もくじジェネレータ で自動生成 なぜバッチ職人になる必要があるのか あなたは,自分の作業を自動化するか。 いつまでも手動で,ダラダラと手作業を行ない続けるのであれば あなたのエンジニアとしての生産性は,そこで打ち止めである。 いつまでも,同じ作業に同じだけの時間がかかる。 いつまでも残業し続け,仕事を早く終わらせる事ができない。作業効率が低い。 また,誤操作のリスクも常に抱え込む。 単調な繰り返し作業ばかりが増えてゆき,脳みそも衰える一方。 このようなエンジニアが成功も成長もしないことは,言うまでもない。 自分の作業を自動化する習慣がある人は,そうではない。 有能なエ

    バッチ職人になろう (WindowsとLinux上での開発業務を自動化するノウハウ集) - 主に言語とシステム開発に関して
  • いげ太の日記: ぼくらが VBA を書く理由

    2014年3月24日月曜日 ぼくらが VBA を書く理由 誰かが言った。VBA のここがダメだと。その dis は妥当なものであり、僕も頷けるところだった。自分で言うのもなんだが、僕は VBA についてよく知っている、まあそれなりには。先の dis についても、僕はその解決のための API を知っていて、それらをどう組み合わせれば便利に使えるかについてのアイデアさえあった。ならば、それを作って示すというのがプログラマー分であろう。あとはこの面倒くさいと思う気持ち、VBA なんかのために貴重なプライベートの時間まで割きたくないと判断する僕の真っ当な脳内スケジューラ実装においてどんな理由を与えて当該タスクのスタベーションを回避するかという問題であった。VBA は残念だ。どこがって、なんかもう全体的に。でもこのアイデアはその残念さを払拭とまではいかないが、いくらか緩和させる可能性を持っている

  • カスタム クラスとオブジェクト

    この章では、Microsoft® Visual Basic® for Applications (VBA) のプログラム技術をさらに伸ばす、上級者のための技術について説明します。クラス モジュールを使用してカスタム オブジェクトを作成した経験のない方のために、この章には、メソッドおよびプロパティを含むカスタム オブジェクトのデザイン、作成、および使用に関する概念も含まれています。また、オブジェクトにカスタム イベントを追加する機能、およびインターフェイスをインプリメントしてオブジェクトを拡張する機能など、オブジェクトを作成した経験がある場合でも参考になる、Microsoft Office 2000 の VBA 言語に新しく追加された機能に関する情報も記述されています。VBA を使用してカスタム オブジェクトを作成する方法に加え、Web ページで再利用可能なカスタム オブジェクトを作成するた

    カスタム クラスとオブジェクト
    zaki1010
    zaki1010 2014/03/14
    公式『Microsoft Office 2000/Visual Basic プログラマーズ ガイド』
  • bi_naの日記

    NSURL* url = [NSURL URLWithString:@"hogehogehogeURL"]; NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; [request addValue:@"hogehoge" forHTTPHeaderField:@"hogehogeHeader"]; [request setHTTPMethod:@"GET"]; NSURLSessi

    bi_naの日記
  • 何でも配列に collectionオブジェクト

    VBにもJavaのVectorのような便利なものがある collectionの使い方は難しくありません オブジェクトの生成と破棄を確実に行えばいいのです 【collectionへの登録】 クラスモジュール(構造体)宣言 <clsdat> Public name As String Public value As Long Dim wkdata As clsdat Dim col As Collection 'collectionオブジェクト宣言 Set col = New Collection 'collectionオブジェクト生成 Set wkdata = New clsdat wkdata.name = "机" wkdata.value = 30000 col.Add wkdata 'collectionへの構造体登録 Set wkdata = New clsdat wkdata.na

  • 連想配列にCollectionを使わない理由 - 十日日記(2007-11-15)

    Link 連想配列にCollectionを使わない理由 Joel Spolskyは「はじめてのBillGレビューのこと」(青木靖訳)の中で、Excelのためのマクロ言語(現在のExcel VBA)を設計するためにVisual Basicに導入した機能4つを述べている。 私は自分のお気に入りの機能を4つBasicにどうにか付け加えた。ひとつはVariant型だ。……(中略)……それからレイトバインディングを追加してもらった。……(中略)……それからお気に入りの言語構文を2つ、cshからもらってきたFor Eachと、PascalからもらってきたWithだ。 この部分を読んで、Excel VBAで便利な部分のかなりをJoelに負っているのだなあと驚いたことがある。またWith文はともかく、残りの3つは密接に関連している。For Each構文ではVariant型しか使えないし、実行時結合のおかげ

    zaki1010
    zaki1010 2014/03/14
    『Collectionには、そのキーが配列に存在するかどうかを確認するためのメソッド(DictionaryならExists)が存在しない』
  • jsrun.it - このウェブサイトは販売用です! - jsrun リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.