現在、
『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』
という本でExcel VBAのプログラミングの勉強をしているのですが、
この本で学習する上で、

http://www.shuwasystem.co.jp/books/7980/1797-3/1 …

こちら↑のページからダウンロードして
実際につくってみましょう、という内容なのですが、
ダウンロードしましたが、ファイルを開くことができません。
私のパソコンはVistaを使用していて、
ExcelはMicrosoft Office Excel2007なのですが、
xlsmのファイルを開くにはどうしたらいいのでしょうか?

教えてください、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

■ブックを開く方法(ショートカットメニューから開く)



(1)開きたいブック上で右クリック
(2)表示されるショートカットメニューの「開く」をクリック


-------------------------------------------------------- 
■エクセルの開くからブックを開く方法(今回の場合のみです)

(1)ダウンロードしたSample2007.zipを開く
(2)その中の、Sample2007フォルダーをドラッグして
   Sample2007.zipフォルダーから外に出す
(3)エクセルを立ち上げ、外に出したSample2007フォルダーから該当ブックを開く

-------------------------------------------------------

また、ファイルをダブルクリックして開かないのは
オプションの設定に問題がある場合がありますので以下を確認

■ファイルのダブルクリックで開くための準備確認

(1)エクセルを立ち上げる
(2)左上のOfficeボタンをクリック
(3)表示されるショートカットメニューの一番下の「エクセルのオプション」をクリック
(4)表示されるオプションダイアログの左の枠の「詳細設定」をクリック
(5)右の画面の内容が「詳細設定」の内容になる
   その画面の一番下からちょっと上にある「全般」項目の中の
  「Dynamic Data Exchange(DDE)を使用する他のアプリを無視する」
   がチェックされてませんか?
 ●それがチェックされてたらダブルクリックでは立ち上がりませんので
  チェックを外してください。

---------------------------------------------------------------- 

上記3つのどれかで開くはずです。
以上。
    • good
    • 0
この回答へのお礼

Dynamic Data Exchange(DDE)を使用する他のアプリを無視する


にチェックが入っていました。


無事にクリックして立ち上げることができました。

丁寧な説明と解説ありがとうございました。

お礼日時:2009/01/16 19:15

>ファイルを開くことができません。



これはどういう現象を言ってるのでしょうか。
エラーが出るとか、内容がごちゃごちゃだとか。。。
も少し具体的に質問した方がいいでしょう。

試しにダウンロードして
xlsmブックをダブルクリックしてみたところ問題なく開きましたが。(^^;;;
 

この回答への補足

自分で作成して保存したExcelのデータは普通に
開いたのですが、
ダウンロードしたものが
クリックしてもExcelが起動しませんし、

Excelからファイルを開こうとしても、
そのファイル事態が表示されないんです…。


ファイル名の一番左にでるExcelのイラスト?(マーク)に
「!」マークがついているのですが、

「Microsoft Office Excel マクロ有効ワーク」と書かれています。

このファイルは今まで保存で使ったこともありませんし、
使用したことがありません。

説明できているかどうかわかりませんが、
よろしくお願いします

補足日時:2009/01/15 17:07
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qexcelの拡張子xlsmが開けません

閲覧ありがとうございます。

この度、PC をwindows 10にアップグレードしましたが、office 2003を使っています。

前のPC で作成したexel シートの拡張子がxlsm なのですが、新しいPC で開くことができず、
何故かペイント?で、中身が写真3枚に変わっていました。

古いPC からUSB 保存で、その写真はUSB の別のフォルダにあったものなので、「中身が変わってしまう」ということはあり得るのでしょうか?
マクロ入りのexcelシートが4つくらい同じ現象になりました。
「オフィス互換パック」というのをmicrosoftからダウンロードしたのですが、
もとのoffice 2003と紐付いていない気がします。
それの置場所がPC のどこにあるのかがよくわかりません。
Windows 10だとexel 単体もスタートアップ画面に出てこないです。
何故かword だけはちゃんと機能しています。

この文章でご理解いただけるか不安ですが、
今まで表計算していたexel シートを開きたいのです。

Windows 10にお詳しいかたの知恵を拝借したいです。
ちなみにPC はHP14ac103TU です。

ご回答お待ちしております。
よろしくお願いいたします。

閲覧ありがとうございます。

この度、PC をwindows 10にアップグレードしましたが、office 2003を使っています。

前のPC で作成したexel シートの拡張子がxlsm なのですが、新しいPC で開くことができず、
何故かペイント?で、中身が写真3枚に変わっていました。

古いPC からUSB 保存で、その写真はUSB の別のフォルダにあったものなので、「中身が変わってしまう」ということはあり得るのでしょうか?
マクロ入りのexcelシートが4つくらい同じ現象になりました。
「オフィス互換パック」というのをm...続きを読む

Aベストアンサー

Excel を起動して、ファイルメニューから xlsm ファイルを選択しても開けませんか?もしも、この方法で開けるならファイルの関連付けが変更されただけです。下記ページのように、関連付けを変更すれば直ると思います。

https://dekiru.net/article/12837/


Office 2003 は古すぎます。Office 2003 のシステム要件に Windows 10 は含まれていませんし、既にサポートが終了しているのでセキュリティ上のリスクがあっても修正されません。

Office 2003 を使うよりは、無償の互換ソフトを使用した方が良い気がします。ただし、マクロを使用していると互換性の問題が発生することがあります。

http://www.forest.impress.co.jp/library/software/libreoffice/

QWord/Excel2003⇒Word/Excel2007にすることで、機能が変わったものを教えてください

Word/Excel2003⇒Word/Excel2007にすることで、機能が変わったものを
教えて頂きたいと思っております。

私はOffice2007になってから、文字色のパターンが変わってしまったため、
仕事で資料を作る際に、前のファイルとの整合性が取れないなと
思っております。
青色が、前の青色と違うのが、一番不自然な感じがしています。

こういう部分を自分でアドインとして作ろうと思っています。
Office2003でOffice2007の色を使えるようにして、
Office2007でOffice2003の色を使えるアドインを作るということです。

せっかくなので、
プログラムの勉強だと思って、他にも作ってみたいのですが、
他に何かございませんか?
案を頂けないかと思い、質問させて頂いております。
コマンドバーがリボンになってしまったという対応はしないつもりですので、
それ以外でお願いします。

ぜひよろしくお願い致します。

Aベストアンサー

こんばんは。

VBAの開発レベルでしょうか。できるだけ、アドインを作るレベルでしたら、なるべくご自身でお探しください。こちらからは、どこを見ればよいと教えるだけです。

Office 2003 VBAから、Office 2007 のマイグレーションにおいて、本格的なアドインができるレベルでしたら、一応、以下の部分はチェックしたいものですね。2003の時は翻訳があったのですが、今回は、ほとんど邦訳がないと思ってよいです。

私の知っている範囲では、VBAとしては、違う部分があります。以下のNew Members and Constants を見ていただければよいのですが、例えば、ExcelのAutoFilter は違います。他にも、システム開発レベルとなると、慣れないせいか、勝手が違うので、どうしても上手く行かない部分が出てきます。なお。デジタル署名の扱いがまったく違いますから、要注意です。


Excel New Members and Constants(英語)
http://msdn.microsoft.com/en-us/library/bb225807.aspx

New Members and Constants(英語)
http://msdn.microsoft.com/en-us/library/bb243715.aspx

Review migration issues for the 2007 Office system
2007 Office システムのマイグレーションの検証[機械翻訳]
http://www.microsoft.com/japan/technet/prodtechnol/office/ork/library/377a9113-b8bb-498c-a846-26759c5dac15.mspx?mfr=true

Office 2007の新しいファイル形式――多彩なメリットの一方で互換性の問題
http://www.itmedia.co.jp/enterprise/articles/0702/08/news051.html

こんばんは。

VBAの開発レベルでしょうか。できるだけ、アドインを作るレベルでしたら、なるべくご自身でお探しください。こちらからは、どこを見ればよいと教えるだけです。

Office 2003 VBAから、Office 2007 のマイグレーションにおいて、本格的なアドインができるレベルでしたら、一応、以下の部分はチェックしたいものですね。2003の時は翻訳があったのですが、今回は、ほとんど邦訳がないと思ってよいです。

私の知っている範囲では、VBAとしては、違う部分があります。以下のNew Members and Cons...続きを読む

QExcel VBA:ひとつ前に開いていたシート名の取得

Sheet1,2,3があり、全て同じ種類の「表」が書かれているとします。
例えばクラス名簿だとして、
Sheet1には出席番号1~10の生徒のデータ、
Sheet2には出席番号11~20の生徒のデータ、のように。
各シートのうち、違うのはデータの中身であって、
[出席番号][生徒氏名]などの項目は同じです。
この時、
Sheet1で項目名を変更した時、Sheet2、Sheet3の項目名も同時に変更させたいです。
Sheet1の[出席番号]を[No.]に変更したら、Sheet2,3の[出席番号]も自動的に[No.]に変更させたいです。
また、変更可能なのはSheet1だけでなく、Sheet2の項目を変更した時もSheet1,3の項目を自動的に変更したいです。

常にSheet1の項目を参照するのであれば、
Private Sub Workbook_SheetActivate(ByVal ActSheet As Object)
SName = "Sheet1"
Sheets(SName).Range("A4:G4").Copy'Sheet1の項目をコピー
Sheets(ActSheet.Name).Range("A4").Select
ActiveSheet.Paste'現在アクティブなシートにSheet1の項目をコピー
End Sub
で可能でした(諸事情によりセル内に「=Sheet1!A4」等と書きたくないです)。

このコードで、
参考するシート名を入れる変数SNameに「1つ前に開いていたシート名」を入れることができれば可能だと思うのですが、
そのようなデータを取得することはできるでしょうか?

よろしくお願いします。

Sheet1,2,3があり、全て同じ種類の「表」が書かれているとします。
例えばクラス名簿だとして、
Sheet1には出席番号1~10の生徒のデータ、
Sheet2には出席番号11~20の生徒のデータ、のように。
各シートのうち、違うのはデータの中身であって、
[出席番号][生徒氏名]などの項目は同じです。
この時、
Sheet1で項目名を変更した時、Sheet2、Sheet3の項目名も同時に変更させたいです。
Sheet1の[出席番号]を[No.]に変更したら、Sheet2,3の[出席番号]も自動的に[No.]に変更させたいです。
また、変...続きを読む

Aベストアンサー

私も単純に作業グループで操作すれば良いだけだと思いますが...

> 1つ前に開いていたシート名...

というのは、「セルの変更があったシート」の内容を、それ以外の
シートに同期させる...という動作ですから、SheetChange イベントの
Sh が使えるかと思います。

値の変更のみ対応で良ければ、ThisWorkbook モジュールに下記のような
コードで。

Private Sub Workbook_SheetChange( _
    ByVal Sh As Object, _
    ByVal Target As Range)

  Const ADDR = "A4:G4" ' 同期させるセルのアドレス
  Dim S As Worksheet

  If Not Intersect(Target, Sh.Range(ADDR)) Is Nothing Then
    On Error GoTo ERROR_HANDLER
    Application.EnableEvents = False
    For Each S In ThisWorkbook.Worksheets
      If Not S Is Sh Then
       S.Range(ADDR).Value = Sh.Range(ADDR).Value
      End If
    Next
  End If

TERMINATE:
  Application.EnableEvents = True
  Exit Sub
ERROR_HANDLER:
  MsgBox Err.Description, vbCritical
  Resume TERMINATE
End Sub

書式の変更等まで同期させたいなら、VBA では難しいですから、やはり
作業グループの方法をとった方が手っ取り早いでしょうね。

なお、ActiveSheet.Previous はシートタブ上での並びでアクティブ
シートの一つ前のシートを単に返すだけですから、必ずしも前回の
アクティブシートを返すとは限りません。

私も単純に作業グループで操作すれば良いだけだと思いますが...

> 1つ前に開いていたシート名...

というのは、「セルの変更があったシート」の内容を、それ以外の
シートに同期させる...という動作ですから、SheetChange イベントの
Sh が使えるかと思います。

値の変更のみ対応で良ければ、ThisWorkbook モジュールに下記のような
コードで。

Private Sub Workbook_SheetChange( _
    ByVal Sh As Object, _
    ByVal Target As Range)

  Const ADDR = "A4:G4" ' 同期させるセ...続きを読む

QVBAでVBAProjectを保護する方法(Excel2000VBA)

Visual Basic Editorの「ツール」-「VBAProjectのプロパティ」-「保護」で、プロジェクトの保護ができますが、
SendKeysを使う以外でこの操作をマクロで実行することは可能でしょうか?
もし可能でしたらそのコードを教えてください。
ヘルプには、Purotectionプロパティ値の取得のみ可能と書いてありますが、他に何か方法があればと思い質問いたしました。
よろしくお願いいたします。

Aベストアンサー

残念ながらVBProject.Protectionには保護状態を取得するだけしかできません。そもそも公開されていない・用意されていないプロパティなんて設定しようがありませんので、SendKeyなどの手順でないと操作することはできません。
まぁVBProjectのセキュリティは非常に低く(簡単に解除できます)ただのオマケにすぎませんから、そこまでして操作しなくても良いんじゃないんですかね。

Qvbaでコマンドプロンプトを開く方法

vbaでコマンドプロンプトを開く、立ち上げる方法ことは出来ますか?

Aベストアンサー

Vistaですが、下記コードで成功しました。

Sub test1()
Call Shell("CMD.exe")
End Sub


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報