Excel97でファイルバージョン8.0を使用してますが、以前作ったファイルを開こうとしたら、「Excelのページ違反です。」と出てきて開きません。複製方法はないのでしょうか?大切なデータが入っているので、困っています。方法がないのであれば、何が原因でこうなるのか教えて下さい。エラー内容は、「モジュール:KERNEL32.DLLアドレス:015f:bff88032」というものです。

A 回答 (3件)

こんにちは



 以下のページがご参考になるのでは?

[XL2000] ファイルにアクセスできなくなった場合の原因と対策
http://www.microsoft.com/JAPAN/support/kb/articl …

[XL2000]強制終了およびハングアップの際のチェック項目
http://www.microsoft.com/JAPAN/support/kb/articl …

[XL2000] フロッピーディスクに保管されているファイルを扱う際の注意点
http://www.microsoft.com/JAPAN/support/kb/articl …

Microsoft Excel Viewer 97
http://officeupdate.microsoft.com/japan/download …

XL: Summary of Methods to Recover Data from Corrupted Files
http://support.microsoft.com/support/kb/articles …

XL2000: Methods for Recovering Data from Damaged Workbooks
http://support.microsoft.com/support/kb/articles …

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0

KERNEL32.DLLは


…Windows\System
にあります。
他のPCからコピーして入れなおしてみては如何でしょうか?
xlsファイルが壊れていれば、話は別ですが…
    • good
    • 0

その開きたいファイルをFDか何かにコピーして、


他のPCで開いても同様の現象が起こるのでしょうか?

通常「ページ違反」というのはアプリケーションが
起動するのに必要なファイルが壊れていたり、
リソースが足りなくて起こったりします。
#ちなみに、アドレスをいわれてもサポセンの方は
#困るだけです。

一度他のPCで試してみて、それでもダメなときは
補足してください。
ではでは☆
    • good
    • 0

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

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

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

QExcel97:ワークシートをコピーすると日付が1日若く更新される

表記のとおりです。
Excel97で、マクロ入りのある管理簿を作成しています。
提出物として、マクロがかかっていない完成版のワークシートを別に保存する時、ワークシートをコピーしてから「名前を付けて保存」するやり方をしてます。でもなぜかその時日付が1日分だけ若く更新されるのです。
その他には、コピーさせずに移動でワークシートを切り離しても同じことが起こります。でも再びそのファイルに戻すと日付もまた元に戻ります。ちなみに日付には「3/4」という表示形式が選択されています。

この現象はずっと今まで気付かなかったんですが、これまでの提出用の完成版ファイルを確認したら全てそうなっていました。念のため、違うファイルの日付がある表でワークシートのコピーをしてみたんですが、この時は大丈夫でした。
どうやら、このマクロ入りの、それもファイルの種類が「Excel97および5.0/95ブック」のファイルだけがそうなるようです。

でも、複雑なマクロが組み込まれているので、ファイル自体を再作成して改めて上バージョンで保存させるのは大変です。周りの人に聞いてみたら、「多分97のバグだろう。MicrosoftのExcelバグ対応のページを見れば何かあるかも」と教えてもらったので見たんですが、数ある中でこの現象には何が対応してるのかさっぱり分かりません。

一応先月度の提出物は、ファイルを全コピーさせ、マクロ入りのいらないワークシートを全て削除する方法で作成しました。でもワークシートの数が多いしメモリも重い物なのでやっぱり少しやりにくいですね。毎月のことだのでもっと良いやり方にしたいものです。

長くなりましたが、どなたか正しい対応の仕方、また何故このような現象が起こるのか教えて下さい。

表記のとおりです。
Excel97で、マクロ入りのある管理簿を作成しています。
提出物として、マクロがかかっていない完成版のワークシートを別に保存する時、ワークシートをコピーしてから「名前を付けて保存」するやり方をしてます。でもなぜかその時日付が1日分だけ若く更新されるのです。
その他には、コピーさせずに移動でワークシートを切り離しても同じことが起こります。でも再びそのファイルに戻すと日付もまた元に戻ります。ちなみに日付には「3/4」という表示形式が選択されています。

この現象はず...続きを読む

Aベストアンサー

こんばんは!

>「1904」を外せば多分、元ファイルの日付のまま
>コピーされるんでしょうけど、そうすると元ファイル
>じたいの日付表示がおかしくなってしまうのなら、
>どうしようもありません。

「1904」を外すと既に入力された日付自体がコピー先と
同様に4年と1日ずれますので以下の方法で補正します。

・「1904」を外す
・適当なセルに1462と入力しそれをコピー
・日付の入っているセル範囲を選択
・右クリック 形式を選択して貼り付け [値]と[加算]をチェック
・OK
---------------
数値の 1462 は1900/1/1 と 1904/1/1 の経過日数
です(1904/1/1-1900/1/1+1)

試しに 新しいシートで[1904]にチェックした状態で
2001/1/1 と入力して[1904]のチェックを外し同作業を
行ってみて下さい!納得されると思います。

不便な機能と思われるかもしれませんが確かMAC版との
互換を保つためにあると聞いたことがあります。
あとこれを使うと時間のマイナス値も扱えるようになる
のですが、承知しての使い分けを行わないと、ご承知の
通り、不便を伴います。

こんばんは!

>「1904」を外せば多分、元ファイルの日付のまま
>コピーされるんでしょうけど、そうすると元ファイル
>じたいの日付表示がおかしくなってしまうのなら、
>どうしようもありません。

「1904」を外すと既に入力された日付自体がコピー先と
同様に4年と1日ずれますので以下の方法で補正します。

・「1904」を外す
・適当なセルに1462と入力しそれをコピー
・日付の入っているセル範囲を選択
・右クリック 形式を選択して貼り付け [値]と[加算]をチェック
・OK
-------...続きを読む

QAccess97で任意のフィールドとレコードを選択してExcel97に出力する方法

Access97でデータベースを作っています。
ある機器の部品リストを作っているのですが、テーブルに保存されている情報を
選択画面で、取り出したいフィールドとレコードをチェックボックスなどで選択し、選択したデータのみをExcel97に出力したいのです。
方法ご存じの方、ご教示願います。

Aベストアンサー

再びmaruru01です。

コマンドボタンのクリックイベントにSQLステートメントの実行とファイルのエクスポートを記述すればよいとおもいます。

SQLステートメントは、

Dim SQL As String

SQL="SELECT (フィールド) INTO (一時テーブル名) " & _
"FROM (抽出元のテーブル名) " & _
"WHERE (抽出条件)"
DoCmd.RunSQL SQL

という風で、ファイルのエクスポートは、

DoCmd.TransferSpreadsheet acExport, acSpreadsheetExcel7, (一時テーブル名), (Excelファイル名)

という風です。
詳しくは、個々のヘルプを参照して下さい。
では。

QACCESS97のモジュールで 日付の計算をしたい

以前の例題を検索したのですが 改めて質問します。

ACCESS97のモジュールで 日付の計算をしたいのです。
例えば
ある日付を入力すれば、その2週間後の日付を取得したいのです。
 テキストボックス "日付"で入力するとします

Dim Sdate As Date 
Dim Edate As Date

Sdate = Format(Me.日付, "yy/mm/dd")

Edate = Format(Sdate+14, "yy/mm/dd") ← ではエラーになります。
Q どうすればいいのでしょうか?

Aベストアンサー

DateAdd関数を使ってみましたか?

Edate = DateAdd("d", 14, Sdate)

とすれば2週間後の日付がとれますよ。

QACCESS97の モジュールの中でIF分について

ACCESS 97 です。
モジュールの中で  IF分を 2回使用することは可能でしょうか?
IF分の中で 更に IF分を使用するということです。

Aベストアンサー

Ifのネストは可能です。
1つの条件式の値で複数の処理のいずれかを実行させるにはSelect Caseステートメ
ントの方が適していると思います。
Elseifでも良いとおもいますが。

QACCESS97 のモジュールの中 何番目かの データを取得したい

ACCESS97 のモジュールの中で SQLを使用しています。

SQLを使用して あるテーブルの任意のレコードを選択したいのです。
例えば テーブルAが下記のようにあるとします。
項目名前番号
A001
B003
D004

という場合に名前Bの番号003を取得したいのです。
データとしては、"2"番目の2 は取得可能です。
 (フォーム上のテキストBOXで入力)

Set DATABASE = CurrentDb()
strSQL = "SELECT * FROM テーブルA WHERE "
strSQL = strSQL + "**** = '" & **** & "' ;"    
↑ここに条件をどのように持てばいいのでしょうか?

※ ここで、名前の項目ではキーとなる項目は得られません。
  今回は 何番目のデータを取得したい ということが可能かどうか 
  教えて頂きたいと思います。

Aベストアンサー

こんにちは

ベタベタな方法でよろしければ。。。ですが
あと名前が昇順に並んでいる2番目が欲しい
というのが前提です。

strSQL = "SELECT * FROM テーブルA "
strSQL = strSQL & " ORDER by 名前 "
として、レコードセットオープン
i=1
do until レコードセット.eof=true
if i= テキストBOX then 'フォーム上で2と入力
w_番号=レコードセット!番号
exit do 
end if
レコードセット.movenext
i=i+1
loop

とすれば、簡単にとれますが、ダメですかね~。


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

おすすめ情報