2016-01-01から1年間の記事一覧
堅牢なソフトウェアを作ろうと思ったら、テストは欠かせないプロセスだ。ソフトウェアテストというのは、要するに「ちゃんと動くかどうか」を確認する作業なのだが、「使ってみました。たぶん問題ありません。」という簡単な話でもない。私もあまりテストに…
今回の記事は、Excelの表から各列の最大文字数を求め、その文字数に基づいて適切なサイズのテキストボックスを新規フォームに配置するというものである。記事タイトルからすると既存フォームに対して実行するように思われたかもしれない。 なかなかキャッチ…
以前、クラスモジュールをエクスポートしてテキストエディタで編集することでデフォルトプロパティを変更できるという記事を書いた thom.hateblo.jpしかし、わざわざエクスポートして書き換えるというのも面倒くさい。VBAはテキストも扱えるので、どうせなら…
先ほどこのような記事を書いた。 thom.hateblo.jpSplitとJoinで面白いことができると思ったんだけれど、とんだ勘違いだった。まぁ、できるにはできるが、わざわざ2つも関数を持ち出さなくても、Replaceを使った方が良い。ということでなんかJoinも活躍の場が…
さっき投稿したところであるが、冷静に考えてみたらReplace関数で良かった。早とちり。今回は小技を紹介する。VBAでは文字列の改行にvbNewLineを使用するが、文字列の外に書かないといけないので改行が増えてくると面倒だ。まずは普通に書いてみたのがこちら…
Webの世界は日進月歩。ついこないだまで最新だった知識もあっというまに古びてしまう。今回は「ホームページ作れます!」というソレが意味するところが、人によって全然違うというところを説明したいと思う。ちなみにホームページという用語は、ブラウザを開…
質問サイトを閲覧していたところ、著作権云々で非常に厳しい意見が目についた。訴訟がどうたら、アメリカが云々、TPPでどうなる云々… あーーめんどくせぇ。。言ってることは至極まともなんだけれど、私はあんまり堅苦しいことは言いたくない。逆に読者が著作…
VBA関連のブログ記事を書いていて困るのが、フォーム関連である。 普通の標準モジュールなら、コピーして実行してもらうだけであるが、フォームを使うコードを紹介する際などは、フォームデザインとコントロール名や配置を書かなくてはならない。たとえば、…
VBAの参照設定ダイアログは、大量のライブラリを目視で探していく必要があり、使い勝手が悪い。そこで、ライブラリ名(厳密にはDescription)で検索できるような参照設定ダイアログを自分で作ってみた。先日の記事では、とりあえずレジストリからTypeLibraryを…
VBEの参照設定の画面はお世辞にもよくできているとは言い難い。 膨大な項目があるのに基本的に目視でスクロールして探す必要があるからだ。大体使いたいものは「Microsoft~」なので、「m」キーを押すと頭文字Mの最初の行までは飛ぶ。 これがフォルダとかな…
【注意】JScript限定です。JavaScriptでは使えません。先日、JScriptで起動中のIEからURLを取得するコードを書いた。 thom.hateblo.jp本当はVBSのFor Eachみたいなもので数を意識せずにループしたかったが、色々調べながらやってみたものの同じような処理は…
先日買ったJavaScript本のコードを何度か写経して、そろそろ自分でもコードを書いてみたくなった。 thom.hateblo.jpそこで、普段仕事でもよく使うIE操作のテクニックの準備段階である、開いているIEのURLを取得するコードを書いてみることにした。普段はExce…
昨日以下の記事を書いた。 thom.hateblo.jp要約すると、レジストリのHKEY_CLASSES_ROOT直下にプログラムID(InternetExplorer.Application等)のキーがあり、その下のCLSIDにGUIDが入っているのでそれをまたレジストリから辿ると、TypeLibを辿れるというもの。…
1/31追記 お詫び 以下の記事はレジストリを辿ってCreateObjectと参照設定を相互に調べる方法を書いていますが、IEなどごく一部のアプリにしか適用できないことが分かりました。つまり、あまり有用なテクニックではありません。はやとちりですみません。 一応…
プログラムを書いていて、Aが1で、かつBも1ならば処理を実行するというようなケースが時折発生する。これを素直に書くとこういうコードになる。 If A = 1 And B = 1 Then MsgBox "処理" End If しかし、さらにCやDも増えたらだんだん冗長なコードになってく…
書店で前から気になっていた書籍を購入した。仕事がはかどるJavaScript活用術─Word/Excelで自動処理して効率アップ作者: クジラ飛行机出版社/メーカー: 日経BP社発売日: 2014/09/20メディア: 単行本この商品を含むブログ (1件) を見るWindowsは「Windows Scr…
今回の記事は、前回の記事を踏まえて書くので、未読の方はこちらもどうぞ。 thom.hateblo.jpVBエディタからコードをコピーしてWordに張り付けると、次のように1行1段落になってしまう。 段落間には余白がとられるため不自然に行間が広く開いてしまう。設定で…
WordでEnterキーを押すと現れるこの記号。 Word使いにはおなじみの記号だ。多くの方がいまだに誤解しているのだが、これは「改行記号」ではない。行指向のテキストエディタとは異なり、Wordは段落指向のソフトウェアである。上の記号は「改段落」を表す段落…
同じコードでもキーワードに着色されているだけで、ずいぶん見やすくなる。 しかし残念なことに、VBエディタの印刷機能ではソースコードをカラー印刷できない。コピーしてWordに張り付けても、元がただのテキストなので黒一色になってしまう。 そこで今回は…
最近、メインサイト(以下)の更新が滞っている。 トップページ - You.Activate当初はhtmlの学習も兼ねてテキストエディタで作ったサイトなのだが、ブログの快適さに慣れた後では記事を一本上げるだけでも結構面倒くさい。かといってWordpressを導入するにはレ…
以下のプログラムを実行すると、ランダムな数値が出力される。 Sub BugSample() Dim Arr(1 To 10) As Long Dim UpperBound As Long: Upper = 1000 Dim LowerBound As Long: Lower = 10 Dim i As Integer For i = 1 To 10 Arr(i) = Int((UpperBound - LowerBo…
ウォッチウインドウの基本 VBエディタの表示メニューからウォッチウインドウを選択すると、以下のようなウインドウが開く。ウォッチウインドウとは、あらかじめ登録した変数やオブジェクトのプロパティの中身を、プログラムの実行中に確認できるウインドウで…
VBAではFileSystemObjectを使用することで簡単にWindowsのフォルダーを扱うことができる。※FileSystemObjectを使用するには、VBEのツールメニューから参照設定で、MicrosoftScriptingRuntimeを参照しておく必要がある。まず手始めに、特定フォルダ直下のファ…
ブック、シート、セルなどの操作に比べると、シェイプの操作に関する情報はまだまだ少なく、ある程度コツをつかむまではマクロ記録で調べながらの対応となる。Excelのマクロの記録は優秀で、シェイプに行った操作も逐一記録してくれる。しかしWordのマクロの…
VBAには外部オブジェクトを操作するために参照設定という機能が用意されている。そういう機能だと割り切って使用する分には何ら問題はないのだが、参照設定の仕組みなどに興味を持ってしまうと、高い確率でタイプライブラリやCOM、ActiveXなどのの単語に出く…