複数のEXCELファイルを制御したいひとつのスクリプトで複数のExcelファイルからデータを取得したいのですが、うまくいきません。スクリプトは下記の通りです。//結果は空になる対策を教えて下さい。COMオブジェクトの認識の問題ですね。XLOPEN(ファイル名)です。戻値のCOMオブジェクトを適切に設定すれば、解決します。『空』→『ごりら』→『空』になります。コメントは受け付けていません。カテゴリー:Q&Aブックを保存し閉じるブックを保存し閉じるActiveWorkbook.SaveActiveWorkbook.SaveAs(ファイル名)ActiveWorkbook.SavedActiveWorkbook.Closeブックを保存し閉じるブックを上書き保存(Save)、別名で保存(SaveAs)をすることができます。ブックの変更後に保存されたか否かをSavedで取得することができます。最後にCloseとすることでブックが閉じられます。&quot;EXCEL.ActiveWorkbook.SavedEXCEL.ActiveWorkbook.Close上記のスクリプトを実施すると、ブックの保存やクローズが確認できます。上書き保存時に保存されるパスはご自身のマシンにより異なります。※例えばマイドキュメントに保存されます保存状況に応じて保存するSavedを使うことにより、未保存時はFalse、保存時はTrueが返ります。条件分岐に使用し、未保存ならば上書き、保存済みならば別名で保存をするようにしてみます。スクリプトは下記のとおりです。コメントは受け付けていません。カテゴリー:UWSCとExcelワークブック名、シート名を取得・選択するワークブック名、シート名を取得・選択するActiveWorkbook.nameActiveWorksheet.nameSheets.countSheets(N).Selectワークブック名、シート名を取得・選択するワークブックの名前やシートの名前をNameで取得することが出来ます。Sheetsオブジェクトに対してCountをすることでシート数を取得できます。EXCEL.ActiveSheet.NameEXCEL.Sheets(sName).Select全てのシート名を取得する上のスクリプトで、ワークブック名、ワークシート名、シート数を取得できました。これらのパーツを組み合わせて、現在選択しているワークブックの全てのシート名を取得、選択してみましょう。下記のスクリプトのようになります。コメントは受け付けていません。EXCEL.GetOpenFileNameファイルを開いたかを判定する選択されなかった場合はFALSEの値を返すので、ファイルを開いたか、開いていないか判定しましょう。下記のスクリプトのようになります。コメントは受け付けていません。カテゴリー:UWSCとExcel再計算を実行する再計算を実行するCalculate計算式を再実行するセルの値を再計算します。”=Now()”という関数が埋め込まれたセルは現在時間を表示します。再計算を実行することでまた最新の時間に更新されます。&quot;=Now()&quot;MSGBOX(&quot;時間を更新します&quot;)EXCEL.calculateランダム値を更新する上のスクリプトでは、時間の経過が確認しずらいかもしれません。代わりに乱数を使って、いっせいに再更新するスクリプトを実行してみます。10×10の範囲内に”=RAND()”関数を挿入し、0~1の間のランダムな数が表示されます。そこで再計算を実行することで、ランダムな値が一斉に変わるようになります。スクリプトは下記のようになります。コメントは受け付けていません。カテゴリー:UWSCとExcel[ファイルを開く]を表示する[ファイルを開く]を表示するFindFile[ファイルを開く]を表示するユーザが指定してファイルを開くようにすることができます。ファイルを開いた後もスクリプトの作業は継続できます。TrueEXCEL.FindFileファイルを開いたかを判定するFindFileはTRUE/FALSEの値を返すので、ファイルを開いたか、開いていないか判定しましょう。下記のスクリプトのようになります。コメントは受け付けていません。カテゴリー:UWSCとExcel特定の範囲を置換する特定の範囲を置換するFind(keyword)文字列を指定し、検索で合致するセルを置換する範囲を指定(Range(X:X)し、Replaceを実行することで、該当キーワードに一致するセルの文字列を指定文字列に置換できます。以下のサンプルにおいて、「おにぎり」と入力し、セルの移動を行い、その後でReplaceで「パン」に置換しています。EXCEL.Range(&quot;A1:J10&quot;).Replace(&quot;おにぎり&quot;,&quot;パン&quot;)複数の箇所が置換されるか確認する上記のスクリプトでは、一瞬のうちに処理が完了してしまうので、本当に挙動したかわかりにくいです。次のスクリプトで、メッセージによる処理のコメントを行い、複数セルの一斉処理が出来るか確認してみましょうこれで処理の流れがわかりやすくなると思います。スクリプトは下記のようになります。コメントは受け付けていません。0~56ColorもしくはColorIndexで色を指定するColorは16進数での色指定、ColorIndexはあらかじめ決められた色セットの数値(57色)から選択指定します。13ColorIndexの一覧を見てみる実際はColorで16進数指定する事は煩雑なため、ColorIndexを使うケースが多いです。下記のスクリプトでColorIndexの一覧を出力してみましょう。スクリプトは以下のようになります。コメントは受け付けていません。カテゴリー:UWSCとExcelステータスバーを取得/設定ステータスバーを取得/設定StatusBarステータスバーに文字列を設定、取得するStatusBarに文字列を設定することで、ステータスバーに任意の文字を表示できます。ステータスバーにセットした文字を取得することも可能です。途中でスクリプトが止まっても、どこまで処理したかわかる場合もあります。UWSCのスクリプトが高速で処理している場合でも、ステータスバーを活用することで進捗の可視化もはかれます。スクリプトは以下のようになります。コメントは受け付けていません。※数値はxlFillSeriesクラスの定数を指定している1と入力したセルの下に2、3、4・・・と連続させるAutoFillメソッドで呼ばれるオートフィルという機能はExcelでも重宝する機能です。連続した数値の範囲を選択し、ドラッグすると連続した値を自動で埋めてくれます。これをスクリプトで実現すると下記のようになります。//連続する値でオートフィル1に続いて2~10までの値がオートフィルされました。日付や曜日、適切な値の場合も見てみるオートフィルのタイプに様々なタイプを指定してみましょう。サンプルは下記の通りとなります。コメントは受け付けていません。最近のエントリーWebサイトからテーブルの内容をエクセルシートに保存ファイルへの追記書き出しについてエクセルの特定のセルにあるメルアドをiniファイルに書込する方法8桁のランダムなアルファベット数字の文字列を作成したい(先頭はアルファベット)ページ検索後に得られた単語にマウスを移動させたいCLKITEMを使ったマウス移動についてCLKITEMのマウスカーソル移動についてUWSCのススメUWSCは、こんな人に向いています。する対象セルを含む領域の終端を取得する特定の範囲を検索する検索を繰り返すセル内の値を数式や文字列で取得するオートフィルを実行する色を指定する特定の範囲を置換する[ファイルを開く]を表示する再計算を実行する[ファイルを開く]からファイル名を取得するワークブック名、シート名を取得・選択するブックを保存し閉じる相互リンク相互リンクFINAL人気の相互リンクシステムです。お問い合わせはこちらから我々へのお問い合わせ、メッセージはこちらから。コバヤシ式」内の「COM」タグの記事一覧です。Q&A掲示板スクリプトUWSCダウンロードリンク集サイトマップ問合せ。