1、始めに
3’、【エクセル2002で、マクロの実行を許可する方法。】
4.もう一度、目的のエクセルを開きなおす。「許可する」で実行可能となる。
1−1、配布の形式
2、機能別対応状況一覧
3、 Office2007 マクロ実行許可(セキュリティ)
3'、Office2002 マクロ実行許可(セキュリティ)
4、Office2007 印刷プレビュー時操作の相異点
5、その他機能対応状況一覧
6、拡張子対応について
1、始めに
Office 2007 の対応状況をまとめました。
【前提】
エクセルのVBAを、2007用に作り変えた訳ではありません。「2007で動作するかだけを検証」しました。
従来のエクセルで作成したブックをそのままの状態で、Excel2007で開いて、
従来のブックを入出力として動作させた。
(列の最大が増えた、ソートキーが増えた事等への根本的な対応は行っていない。)
(新しいファイルの拡張子に関しては、対応していない。後述6参照)
Excel2007のインストール時、旧(Excel2002)を残してインストールした状態でテストしている。
追々、2007用も出したいと考えています。
【お詫び】 Excel2010も発売になりましたが、しばらく対応出来ないと思います。
1−1、配布の形式
新規作成ツールでは、Office 2007 完全対応済としているが、
旧エクセルをご使用の方が多いとの判断から、旧エクセル(xxxx.xls)として配布しています。
VBAの非互換部分は、条件式で、使用可能なVBAが実行されるようにしています。
シートに関しては、非互換機能は、使用してないと思います。
Office 2007 用エクセルとされる場合は、xxxx.xls 版を開いていただき、
名前を付けて保存操作で、xxxx.xlsm として格納して下さい。(拡張子のみ替える)
旧版を使用しない場合は、xxxx.xls を削除してください。
(エクスプローラで削除する場合は、ファイルの拡張子を表示させ、間違わないよう気を付けて下さい。)
又、例題として付属しているエクセルも同様の操作を行って下さい。
例題のエクセルを変えた場合は、例題用のパラメタ内のエクセルブック名の拡張子も、
xls からxlsmに変更してください。
フォルダ内の構造(配置位置とフォルダ名)は変えないで下さい。
ツールのみ新エクセルで、例題は旧のままとしても、例題の実行は可能です。
2、処理機能別対応一覧 2010年10月
【制限1】office2007sp2(サービスパック)適用前は、「差込元と先を対話型で指定」ボタンを押すとエラーとなる。a@ エクセル名.xls 機能説明 提供書庫名 対応状況 1 JCLエミュレータ JCLエミュレータ KTJCLEmu 使用可能 2 マッチング 1:nのマッチング処理 KT1NMATCH 使用可能 3 MNマッチング m:nのマッチング処理 KTMNMatch 使用可能 4 リスト形式に変換 伝票形式から、リスト形式に KTListEdit 使用可能 5 リスト形式に変換3 表形式から、リスト形式に KTListEdit3 使用可能 6 バッチソート ソート、及び単純抽出処理 KTSort 使用可能 7 抽出ソート 同上(抽出条件変更) KTPickup 使用可能 8 サマリー 複数のキーで集計レコード 出力 KTSummary 使用可能 9 ブレーク サマリとほぼ同等 KTBreak 使用可能 10 汎用差込機能 一品一葉印刷 KTASasikomi 使用可能
制限1、310 葉書差込機能 一品一葉印刷(葉書) 〃 使用可能
制限1、311 伝票型印刷 伝票型(応用用紙)印刷 KTReport 使用可能
調査中112 Eメール送信 Eメールを住所録等から一括送信 KTEMail 使用可能 13 同上変換 同上表現に変換、又はその逆に戻す KTDoujyou 使用可能 14 データ生成 指定シートに、データを自動で作成 KTDGenerate 使用可能 15 イメージ取込(7完) 指定シートに、画像(イメージ)を取込む KTIMGGet 使用可能
【調査中1】Excel2007(サービスパックsp2)適用済、
1、「解析対象の図形に漏れが出る」。
2、「解析した図形が持つ、TopLeftCellの値が、先頭図形の値と同じになる」。
現象が発生する。
【制限2】Grep機能で制限あり、フォルダ単位での検索が出来ません。実行するとエラーとなる。
原因:VBAでFileSearchを使用している。(Excel2007でこのオブジェクトが無くなった為)
(7完):Excel2007 完全対応済。
3、【エクセル2007で、マクロの実行を許可する方法。】
(旧バージョンのメニューから「ツール」→マクロ→セキュリティ→「中レベル」が無い)
1.Office2007の「ロゴマーク」、左上隅をクリック (上図参照)
2.エクセルのオプション(画面イメージなし)画面の右下「エクセルのオプション」をクリック
3.セキュリティ ーセンター画面、「セキュリティ ーセンターの設定」をクリック
4.セキュリティ ーセンターの左真中、「マクロの設定」をクリック
5.すべてのマクロを有効にする(推奨しません。危険なマクロが実行されることがあります)(E)の
ラジオボタンをクリックする。
或いは、信頼できる場所にツールを移動するか、ツールを信頼できる場所にする。(メーカーはこちらをお奨めか?)
1.マクロが実行できない場合下記のメッセージが出ます。
(「OK」としてから、)
3.→「中レベル」を選択し、「OK」とし、警告のでたエクセルも、終わらせる。
【制限3】office2007sp2(サービスパック)適用前は
印刷プレビュー時のGUI(操作方法)が変更になっている。
2007より前は、プレビュー画面のメニューに「閉じる(C)」ボタンが有ったが、2007では見当たらない。
2007では、「Esc」ボタン(キーボード左上隅に有ると思う、エスケープキー)を押して下さい。(2007以前も可)
(office2007sp2以降は、「閉じる」ボタンあり)
6、拡張子対応について。a@ エクセル名.xls 機能説明 提供書庫名 対応状況 1 ブロックソート 対話型ソート KTBlockSort 使用可能 2 図形検索 図形中の文字検索 KTZFind 使用可能
調査中1、
制限2(V1.3より解除)3 複合検索 AND,OR,NOT使用検索 KTFFind 使用可能
制限2(V1.1より解除)
拡張子と使用の可否について、Excelの仕様では下記の様です。
当ツールに於いては、拡張子 Excel2007以前 Excel2007 .xls ○ ○(何の操作も加えなくてもよい) .xlsx ×(このファイルの形式を認識できませんと出る) ○
エクセルブックを検索するダイアグラム(画面)で拡張子の指定を使用しています。下図参照
Excel2007との関係は次のようです。
【現行マクロでの検索画面】拡張子 Excel2007以前 Excel2007 .xls ○ ○(何の操作も加えなくてもよい) .xlsx 画面に見えない、
ファイル名欄に
手入力で指定すると、エラーが発生する。画面に見えてこない、
ファイル名欄に
手入力で指定すれば、使用可能である。
(解決策参照)
解決策(マクロの修正)ファイルの種類を変更する。
従来マクロが下記のようなら
KK_Book = Application.GetOpenFilename( _
"エクセル ファイル (*.xls;*.csv), *.xls;*.csv," & _
"すべてのファイル (*.*),*.*")
改造後
If CInt(Application.Version) > 11 Then
KK_Book = Application.GetOpenFilename( _
"Excel2007ファイル (*.xlsx;*.xlsm;*.csv),*.xlsx;*.xlsm;*.csv," & _
"Excel2003以前ファイル (*.xls;*.csv),*.xls;*.csv," & _
"すべてのファイル (*.*),*.*")
Else
KK_Book = Application.GetOpenFilename( _
"エクセル ファイル (*.xls;*.csv), *.xls;*.csv," & _
"すべてのファイル (*.*),*.*")
End If
色付き部分が改造する部分です。
青色部分が、Excel2007で作成されたものを、対象にする部分です。
xla(アドイン)も対応させたい場合は";*.xla"、";*.xlam"等を追加して下さい。
Versionにより変えているのは、旧形式で、2007用を開いた場合エラーとなる為です。
Excel2007のVersionは、"12"です。
全てが選択できる(*.*)のであれば、余り意味がないかと思われる方は、
If文を付けずに、Then以下の部分に置換されてもよいと思う。
又、Excel2007と旧バージョンを混在してお使いの場合は、
If CInt(Application.Version) > 11 Then
KK_Book = Application.GetOpenFilename( _
"Excelファイル (*.xlsx;*.xlsm;*.xls;*.csv),*.xlsx;*.xlsm;*.xls;*.csv," & _
"すべてのファイル (*.*),*.*")
とされる方が使いやすいかもしれない。
【参考】
・エクセルブックを検索するダイアグラム(画面)を使わず、直接ブック名を入力した場合。
実行中のExcelのバージョンに関係なく、開こうとするため、エラーとなる場合や
エクセル互換ツールを使用するように、要求される場合があります。
・注意を要するのは、Excel2007で実行時、パラメタを新ブックに格納すると、パラメタ自体は、2007バージョンとなり、
このパラメタを、旧バージョンのエクセル実行下で、読み込もうとした場合使えなくなります。