タグ

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

タグの絞り込みを解除

vbaに関するmieki256のブックマーク (8)

  • 他アプリを起動する:Excel VBA|即効テクニック|Excel VBAを学ぶならmoug

    ツイート Excelのマクロは基的にExcelを操作するための機能です。 しかし、ときにはExcel以外の、他のアプリケーションを起動したいこともあるでしょう。 ここでは、VBAで他アプリを起動したり、そのアプリを操作したりするテクニックをご紹介します。 ■Shell関数でアプリケーションを起動する 他のアプリケーションを起動する最も簡単な方法の一つはShell関数です。 Shell関数は、引数で指定した実行形式ファイルを起動します。 Sub Sample1() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub Sample1はWindows標準ツールの「メモ帳」を起動します。 メモ帳の実行形式ファイルはnotepad.exeで、一般的にはC:

  • Excel VBAつかいまくってるからそろそろ腹にためてることをちょっと書き出すか - oe-roelのカオス落書き帳

    相変わらずExcel VBAを使いまくってる日々なので腹にためてることをちょっと書き込もうと思った。なんか前にも書いたかもしんない。知らない。 以下はバッドノウハウの類も含むカオス内容。 if文内に書いた条件は全て評価されることに注意する。CやJavaのようなショートサーキットタイプではない。 それでもif文の評価コストに慎重にならないこと。 他言語で&&で置き換えられる内容をif文のネストで表現している奴を見たらVB出身を疑うことができる。 変数の通用範囲がプロシージャレベルであることに注意すること。ブロックで通用範囲が消えたりしない。 Dim hoge as New ClassNameとした場合、hogeが始めて使われる場所で変数にNewしてSetされる。その後プロシージャ内でこの宣言が実行されたとしてもNewされることはない。プロシージャレベルでのオブジェクトの使いまわしが怖いならA

    Excel VBAつかいまくってるからそろそろ腹にためてることをちょっと書き出すか - oe-roelのカオス落書き帳
  • VBA応用(ファイルの移動、ファイル名の変更、ファイルの削除)

    ファイルのリネーム、移動、削除は関連があるので一緒に説明します。 まずは、同じドライブ内の移動、もしくはファイル名の変更です。 Option Explicit Private Const g_cnsSOUR = "C:\TEMP\AAA\SAMPLE1.txt" ' 元ファイル Private Const g_cnsDEST = "C:\TEMP\BBB\SAMPLE2.txt" ' 先ファイル ' ファイル移動のサンプル① Sub MoveSample1() ' ファイルを移動(この方法は同一ドライブのみ) Name g_cnsSOUR As g_cnsDEST ' ←※ End Sub Nameステートメントでは、リネームと同一ドライブ内のファイルの移動ができます。移動とリネームを同時に行なうことも可能です。 ドライブが違う場合のファイルの移動は、「コピー」して「元ファイルを削除」させ

  • Office TANAKA - ファイルの操作[ファイルの存在を調べる]

    美しいマクロは「頑強性」を持っています。どんな環境でも、ユーザーがどれほど予想外の操作をしても、滅多なことでは停止しないマクロを目指しましょう。それには「○○のはず」という固定概念を払拭するのがポイントです。「ここにファイルがあるはず」「シート名はSheet1のはず」などなど、固定概念が多いマクロほど思わぬトラブルを招くものです。 たとえば、次のコードは、ブックを開く簡単なマクロです。 Sub Sample1() Workbooks.Open "Book2.xlsx" End Sub シンプルですけど、これはマズイですね。「Book2.xls」にパスを指定していませんから、これでは「カレントフォルダのBook2.xls」になってしまいます。カレントフォルダは、Excelでブックを開いたり保存したりするだけでも変わりますから、Book2.xlsxが見つからない場合もあります。明示的にカレント

  • VBA応用(テキストデータの書き出し)

    シートの中の一部分を直接書き出すこともできます。 ここでも、古くからのBASICの記述方法と、FSO(FileSystemObject)を操作する方法で、テキストファイルに書き出す方法を解説します。 ワークブックの保存でもテキスト形式(*.txt)がありますが、複数項目だとタブ区切りになってしまいます。また、シートの一部(例えば見出しを除くなど)を出力することはできませんが、 ここでの方法は出力する範囲も自由で、出力レコードも独自に編集できます。 なお、これから新しく取り組む方は古いステートメントではなく、最初からFSO(FileSystemObject)を学んで下さい。 まずは、「古くからあるステートメント」の方法です。 見出しを除くような意味で、2行目から下に向かってシートのA列上にあるデータを全て書き出します。 '***********************************

  • VBA応用(テキストデータの読み込み)

    デザイン済みのシートにデータを直接読み込むことができます。 ここでは、古くからのBASICのステートメントの記述方法と、FSO(FileSystemObject)を操作する方法で、テキストファイルを読み書きする方法を解説します。 例えば、CSV形式のファイルを直接開くと、見出しもないデータの羅列がワークシートに展開されてしまいますが、ここでのサンプルの方法であればデザインしたワークシートの見出しの下の行からデータを読み込んで表示させたり、ワークシートに表示させないで内部処理を行なうなどのことができます。 なお、これから新しく取り組む方は古いステートメントではなく、最初からFSO(FileSystemObject)を学んで下さい。 まずは、「古くからあるステートメント」の方法です。 通常の文書のようなテキストデータを改行(CRLF)単位に1行ずつ読み込みます。 動作確認をされる場合は、Asc

  • クレジットカード現金化の高還元率の優良店を選ぶためには

    クレジットカード現金化の高還元率の優良店を選ぶためには クレジットカード現金化の優良店を選ぶポイントは、換金率やスピードもありますが、そのほかにも見ておきたいポイントもあります。 お金に厳しい人が利用しますので、手数料やキャンペーンの有無、価格交渉ができる業者ということは見ておきたいところです。 それぞれどのような内容なのでしょうか。 手数料が無料であるクレジットカード現金化の業者には、手数料をすべて無料でしてくれるところがあります。 業者によっては、単純に手数料という名目で業者側の利益がとられていたり、振込手数料、事務手数料という名目で少額ながらお金がかかることがあります。 せっかく高い換金率が記載されていても、手数料の分が差し引かれることで、損をしたような気持ちになったり後から気づくこともあります。 これらの手数料は最初から公式ホームページに記載がある場合は了承したうえで申し込みもでき

  • VBA応用(絶対パス指定と相対パス指定)

    掲示板に時々挙げられる話題です。 「カレントフォルダ」とか「カレントパス」が、言葉だけそのまま一人歩きするため、結構、誤解されたままで済まされているのでは?、と疑問になりました。 「相対パス指定」を使う限りは「カレントフォルダ」が起点になるのでその所在は重要なのですが、Excelの場合は、前後に行なう「ファイルを開く」の操作などで「カレントフォルダ」は一定しません。 この状況を知らないで、「カレントフォルダ」とは「そのブックを開いたフォルダのこと」と信じてしまっている人が多いような気がします。 「カレントフォルダ」とはどこ? 「カレントフォルダ」は、「CurDir関数」で取得できます。これがどこのフォルダを指しているのか確認してみましょう。 まず、スタートメニューから単純に「Microsoft Excel」を開きます。 続いて、「Visual Basic Editor」を開きます。(Alt

  • 1