[[20070903145442]] 『2000,2003,2007環境下でのマクロ保存コマンドにつ』(まき) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2000,2003,2007環境下でのマクロ保存コマンドについて』(まき)

[エクセルのバージョン]
Excel2003,Excel2007,Excel2000

[OSのバージョン]
WindowsXP

現在部内でエクセル2000,2003,2007のPCを使用しております。この状態でマクロを

使用して、ボタンを押す事で2000または97形式でセーブを行いたいと考えておりま

す。そこで、次の様なマクロを作り実行しました。

Private Sub 保存_完了_Click()

    ファイル名 = Range("J2").Value
    Application.DisplayAlerts = False           'メッセージを出さない
ActiveWorkbook.SaveAs _
Filename:="\\host\my documents\原簿\" & (ファイル名 & ".xls")
    ActiveWorkbook.SaveAs FileFormat:=xlExcel9795 '★保存形式
    Application.DisplayAlerts = False           'メッセージを出さない
    ActiveWindow.Close
End Sub

このマクロだと2007で保存したファイルが、2003,2000では読む事が出来ません。

(ちなみに全てのPCに2007ファイル読み込み可能パッチインストール済み)

★の部分を

xlExcel7 全てのバージョンで実行になるが、セーブするbookにセルの結合を使っ

     ており、この部分がセルの結合が解除にってしまう。

xlExcel8 2007では実行出来るが、2003,2000ではマクロ実行エラーが生じます。

そこで、エクセル2000,2003,2007でセル結合(複数行)が乱れず、また2007でセー

ブしたファイルが、他のバージョンでも読める方法がお分かりの方、是非とも教え

て下さい。

以上よろしくお願い致します。


 Excel2007とそれ以前のバージョンではファイル互換性にかなり疑問を抱いて
おります。(特にシェイプオブジェクト関係は不具合が多数報告されている模様)
 
さて、こういうブログ記事を見つけました。
[Office 2007で問題になるマクロの後方互換性]
http://d.hatena.ne.jp/Kazzz/20061206/p1
 
要するに、バージョンによって保存形式の組み込み定数が違う!
Excel2007   97-2003 ブック                xlExcel8 
Excel2003以前 97-2000 および 5.0/95 ブック  xlExcel9795
 
従って、FileFormatの指定でxlExcel9795を指定した場合は紹介したブログでは
「実行時エラー'1004'」となる、と解説されています。提示されたコードでなぜ
エラーがでないかは釈然としませんが(Application.DisplayAlerts = Falseでは
実行時エラーの表示まで抑制しないはず) それはさておき。
 
ActiveWorkbook.SaveAs ・・・を2回実行しています。最初はファイル名をつけて
保存、次にファイル形式だけ指定して保存。最初の保存で2007形式で保存されて
おり、次のファイル形式指定保存は失敗しているのでしょう。
実行時エラーになるとすればなぜコード実行が停止しないのかが不思議ですが、
2007は所有していないので検証できません。
 
紹介のブログでは「バージョン判別して保存ステートメントを変更」して解決して
いるようです。
 
(みやほりん)(-_∂)b
 
追記
 FileFormat:=XlFileFormat.xlExcel8 は2003以前で実行した場合、
XlFileFormatプロパティに xlExcel8 がないためにコンパイルエラー、
また、XlFileFormatプロパティを省略してもxlExcel8は変数と解釈されるので、
Option Explicit宣言をしていた場合には未宣言の変数としてこれもコンパイル
エラー。
また、ファイルフォーマットとしてxlExcel9795を指定したコードで、2007で実行
した場合はこの逆が発生します。
 
従って回避法は、名前付き組み込み定数ではなく、数値定数として指定します。
xlExcel9795 = 43
xlExcel8    = 56
 
If Val(Application.Version) < 12 Then
ActiveWorkbook.SaveAs Filename:="ファイル名", FileFormat:=43
Else
ActiveWorkbook.SaveAs Filename:="ファイル名", FileFormat:=56
End If
 
こんな感じ。


みやほりん様、おはようございます。ご連絡頂き有り難うございました。

まずは、ご指導頂いた通り修正した所、うまく修正出来た感じです。(2007が他人のPC

で、全て実行出来きなく1つだけ動かし保存後、同ファイルを2003で開けました。)

文面にも有る通り、マクロで2回セーブを行ったのは、"FileFormat:="をどの様に入れ

れば良いのか分からなく、2回セーブする方法を取りました。(お恥ずかしながら今回

初めてエクセルVBAを使用した為、理解出来ておりませんでした。)

参考までに、下記の通り(また添付webアドレスを参照の上)修正を行いました。

Private Sub 保存_完了_Click()

    ファイル名 = Range("J2").Value
    Application.DisplayAlerts = False           'メッセージを出さない
If Val(Application.Version) < 12 Then
ActiveWorkbook.SaveAs Filename:="\\host\my documents\原簿\" & (ファイル名 & ".xls"), FileFormat:=43
Else
ActiveWorkbook.SaveAs Filename:=":="\\host\my documents\原簿\" & (ファイル名 & ".xls"), FileFormat:=56
End If
    Application.DisplayAlerts = False           'メッセージを出さない
    ActiveWindow.Close
End Sub

以上よろしくお願い致します。


 Filename:="\\host\my documents\原簿\" & (ファイル名 & ".xls")
 
この部分の書き方が気になります。なぜ()で囲ってあるのか不明。
 
 Filename:="\\host\my documents\原簿\" & ファイル名 & ".xls"
 
(みやほりん)(-_∂)b

おはようございます、みやほりん様

昨日は仕事の関係上デバッグの時間が無く、今朝動かしてみました。すると(何故か)同マクロファイルの

保管してあるPCではファイルが立ち上がり(マクロ上では不具合を生じましたが)、ネットワーク上のP

Cから同ファイルでマクロを有効にするとエクセルが固まりました。しかし、マクロを無効にすると立ち

上がったので、マクロ記述で何か有るのでは無いかと思い、このカッコを外した所マクロでも動く様にな

りました。しかし、この保管先の(HOST)PCで保存しようとすると、

ActiveWorkbook.SaveAs Filename:="\\host\my documents\原簿\" & (ファイル名 & ".xls"), FileFormat:=43

の所でエラーになります。そこで、

ActiveWorkbook.Save

と変更しましたが、同様でした。自分のPCで開いてセーブしようとすると、何か問題が

有るのでしょうか?ちなみに、今回のマクロは原本ファイルを読み出し、同ファイルのシ

ートをコピーし、原本ファイルとコピーしたシートを保存します。今回の不具合は、シー

トをコピーした物を保存する際には動きますが、原本ファイルを上書き保存する際に起き

ています。

以上よろしくお願い致します。


 コマンド操作では上書き保存はできるのでしょうか。
エラーの種類も記録して提示してください。
各PCのOSバージョン、Excelバージョンも教えてください。
2007の場合は検証できませんが・・・。
(みやほりん)(-_∂)b

みやほりん様、おはようございます。

急に出張になりご連絡が遅れてしまいました。

さて、今回のファイルを保管してあるPCで保存時のエラーについて確認を取ってみました。状況は不思議

な事に、次の通りです。

OS: XP Home, Ver.2003

マクロで保存時には、ActiveWorkbook.SaveAs Filename:="ファイル名", FileFormat:=43でエラーで止ま

ります。そこで、上書き保存、名前を付けて保存、マクロを無効にしてでの保存、全ての場合も実行エラ

ー1004、"ファイル名"にアクセス出来ません。(マクロ保存時にもアクセス出来ませんとなります。)

そこで、このPCで適当に作った物(マクロ無し)で保存した際には、問題なく保存出来ます。マクロが

有る際に、何か環境設定(特に変な所は見当たりませんでしたが)で有るのでしょうか。また、このPC

には、ウィルスソフトはインストールして有りません。

以上よろしくお願い致します。


 (1)
ActiveWorkbook.SaveAs Filename:="ファイル名", FileFormat:=43
が実際のコードなら、Filename:="ファイル名" の"ファイル名"文字列の"ファイル名"となります。
実行時にはカレントフォルダに"ファイル名.xls"と言うブックが作成されなければなりません。
 
コレが変数ならば""で囲む必要はありません。
 
 (2)
途中でも指摘していますが、ファイルパスを表す文字列が上手く作れていないのでは?
"\\host\my documents\原簿\" & (ファイル名 & ".xls")
と()を入れてしまう辺り、あまり厳密に理解しているようには見受けられません。
ステップ実行でのデバッグやMsgboxで表示させたりして目的のファイルパスが得られているか、
よく確認してください。
 
 (3)
フォルダアクセス権の問題のような気もしますが、新規ファイルなら目的のフォルダへ書き込み出来る
と言うことであると、状況が矛盾するので違うかもしれません。。
また、パスの状態でアクセスできなくなるらしいので、下記が参考になるかもしれません。
[[20070823145258]] 『上書き保存できない』(ぺ)
 
 (4)
>ウィルスソフト
みなさん良くそうおっしゃいますますが、ウィルス「対策」ソフトです(笑
(みやほりん)(-_∂)b

みやほりん 様、こんにちは。

再度報告致します。現在保存出来ない(ネットワーク上の2003&XPではOK、保管先PCのみ不可)マクロは

次の通り作成してあります。

ファイル名 = Range("J2").Value

    Application.DisplayAlerts = False           'メッセージを出さない
If Val(Application.Version) < 12 Then
ActiveWorkbook.SaveAs Filename:="\\HOST\my documents\出荷依頼書原簿\" & ファイル名 & ".xls", FileFormat:=43
Else
ActiveWorkbook.SaveAs Filename:="\\HOST\my documents\出荷依頼書原簿\" & ファイル名 & ".xls", FileFormat:=56
End If
End Sub

そこで、旧バージョンマクロを使いと問題なく保存出来ます。同マクロは次の通りです。

ファイル名 = Range("J2").Value

    Application.DisplayAlerts = False           'メッセージを出さない
ActiveWorkbook.SaveAs _
Filename:="\\HOST\my documents\出荷依頼書原簿\" & (ファイル名 & ".xls")
End Sub

上記でも申し上げた通り、ネットワーク上の他のPCでは問題なく、HOSTのPCでマクロを止めて行っても

同様、名前を付けて保存でネットワークPCで自分のフォルダーを指定しても不可でした。何が悪いのか

全然分からなくなってきてしまいました。ちなみに、新しいbookにこの不具合を起こしているマクロを

全てペースとしてみると(シートの中身は移していませんが)、上書き保存は出来ました。

以上よろしくお願い致します。


自己レスです。

再度HOSTのPCでファイルを読み込み、保存時にステイタスバーを見ていた所、EXECEL95/97ブックで保存

時にエラー返していたので、名前を付けて保存でファイルの種類をOffice Execlブックにした所、その後

は保存が出来る様になりました。その際に、他のネットワーク上のPCからファイルを読むと、エクセルが

固まり"ご迷惑をお掛けして申し訳ございません"と出て来ました。同HOSTのPCをリブート後は、この固ま

る現象もなくなりました。

何故だか原因不明ですが、その後2000〜2007のPCで問題が起きなかったので、気に入らないのですがよし

とします。

この度は、みやほりん 様に色々ご指導頂き有り難うございました。

まき


 自己解決?
私もだんだんわからなくなってきました。
HOSTのPC(保管先PC) は 「OS: XP Home, Ver.2003」とされているものですよね。
 
・新規のブックにマクロを登録して実行すると保存できる。
・既存のブックで保存しようとすると失敗する。
 
新規ブック「だから」上手く行くのか、既存ブック「だから」上手く行かないのか、
どちらかなのですが、一応、こちらの試行結果だけお伝えしておきますと、
 
フォルダパス
"C:\Documents and Settings\ユーザー名\My Documents\出荷依頼書原簿"
ネットワークパス
"\\ユーザー名\出荷依頼書原簿"
 
この二つのパスが同じフォルダをさすものだとします。
 
    Workbooks.Open Filename:="\\ユーザー名\出荷依頼書原簿\TEST.xls"
 
このマクロで呼び出したブック(TEST.xls)はファイルプロパティでは
"\\ユーザー名\出荷依頼書原簿\TEST.xls" です。次のマクロで保存できます。
 
    ActiveWorkbook.SaveAs Filename:="\\ユーザー名\出荷依頼書原簿\TEST.xls", FileFormat:=43 '-------[A]
が、
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\ユーザー名\My Documents\出荷依頼書原簿\TEST.xls"
 
このマクロで呼び出したブック(TEST.xls)は同じブックであるにもかかわらず、[A]のマクロでは
「TEST.xlsにアクセスできません」となります。
 
パスが違うと「別のユーザーによってすでに開かれている」と判断されるのか、
保存拒否されます。同様の現象が起きているのかもしれません。
 
もし、この開いたブックと、保存したいブックの保存フォルダが同じであれば、
「"\\HOST\my documents\出荷依頼書原簿\"」などと固定せず ActiveWorkbook.Path などで
起動状況に依存しないパスの取得とした方が良いかもしれません。
例:
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & ファイル名 & ".xls", FileFormat:=43
 
(みやほりん)(-_∂)b

みやほりん様

こんにちは、正直私も分からなくなりました。先日も申し上げた通り、この保存先のPC(XP-Home,2003)で

名前を付けて保存でファイルの種類をOffice Execlで保存すると、このPCでは読める様になりました。

しかし、ネットワーク上のEXCEL2000で開こうとするとAC9F2F90-E877-11CE-9F68-00AAでエラーを生じた

と警告マークがでて来ます。(その後EXCELが固まる。)そこで私のPC(ネットワーク上、XP-Pro,2003)で

開きEXCEL97-2003形式で保存すると、EXCEL2000のPCでも読める様になります。(但し、保管先PCでは同様

の不具合が再現します。)

みやほりんさんから例題を出された通り、

ActiveWorkbook.Path
で以前行った際には、このファイルを開いている最中に他のEXCELファイルを開き(自分のマイドキュメン

ト)、またこのマクロファイルに戻った際に、このファイルの保存先が自分のマイドキュメントになって

しまうと言う不具合から、フルパスを切る様にしました。

このマクロ付ファイルをHOSTのPCで開き(マクロを有効にして)、あるシートを新規bookにコピーして保存

を行うと(マクロで保存、この際の保存マクロは上記の通り)問題なく保存出来ます。今度自分のPCのHDD

を保存先にして(パスも切り直し)行ってみます。但し、みやほりんさんが[A]で実験しても同様の結果と

の事なので、HOMEとProの違いだけでは無い様な気がします。今回VerでIF文を使い保存方法を変えました

が、(IF文で3通りの記述が出来るのかは不明ですが)自分のHDDから読んだ場合は、

C:\Documents and Settings\HOST\My Documents\出荷依頼書原簿\ & ファイル名 & ".xls", FileFormat:=43

と言う方法が有るのでしょうか?

以上よろしくお願い致します。


 返信遅れました。
が、何回読んでもどのPCで何が起こっているのか、よくわからないのです。
PCのOS、Excelバージョン、起きている現象を箇条書きで整理して
書き出していただけませんか?
 
(みやほりん)(-_∂)b

みやほりん様、こんにちは。

言葉では分かりづらいと思いますので、不具合が起きている状況を明記します。

 ベースとなるbookは、シート1がメニュー画面で項目を入れる、シート2が一部項目を
 コピーし(シート1で入力した項目)過去からの項目を累積している。(最後の行に項目が
 コピーされる)シート3は、メニュー画面で入力した全項目がコピーされ、このシートが
 新しいbookにコピーされて、1book,1sheet形式で保存される様なマクロになっています。
 新しいbookでは、全ての環境で保存が出来ます。しかし、ベースとなる従来からのファ
 イルの保存で不具合が生じています。大まかにアクセス状況は、下図の通りです。

            □ ファイル保存先PC(XP-Home,2003)
            |
 −−−−−−−−−−−−−−−−−−−−−−−−−−−−-  (ネット回線)
 |                   |                 |             |
 □          □                 □             □
XP-Pro,2000    XP-Pro,2003    XP-Pro,2007   XP-Home,2000
       私のPCでマクロを作っている

保存マクロを

 ファイル名 = Range("J2").Value
 Application.DisplayAlerts = False           'メッセージを出さない
 If Val(Application.Version) < 12 Then
 ActiveWorkbook.SaveAs Filename:="\\HOST\my documents\出荷依頼書原簿\" & ファイル名 & ".xls", FileFormat:=43
 Else
 ActiveWorkbook.SaveAs Filename:="\\HOST\my documents\出荷依頼書原簿\" & ファイル名 & ".xls", FileFormat:=56
 End If
 End Sub

と記述すると、ネットワーク上のPCからでは何も問題なく、従来からのファイルを保存

 出来ます。しかし、上記のマクロを明記すると、ファイル保存先PCでは上書き、97-2003
 book形式でマクロやメニューからの保存が一切出来ません。しかし、保管先PCでマイク
 ロソフトオフィースエクセル形式を選ぶと保存が出来ます。但し、保管先でこの形式で
 保存を行い、ネットワーク上PC(Pro-2000,Pro-2003しか確認を取っていませんが)から
 ファイルを読み込むとエクセルが固まります。

現象としては、上記の通りです。今日時点で、保管先をProには、まだ変えていません。

以上よろしくお願い致します。


 ファイルが保存できない現象と他のPCで開けない現象の原因は(たぶん)別ですので、
切り分けて考えましょう。
私の職場の環境がXP-Pro&2003で統一されてしまっているので、OSまたはExcelの
バージョンの違いによる検証が出来ないのですが、ブックの開き方によりファイルパス
が違ってくるのが「ファイル保存先PC(XP-Home,2003)」で保存できない原因の一つ
であると推測します。
 
>ActiveWorkbook.Path で以前行った際には、このファイルを開いている最中に他のEXCEL
>ファイルを開き(自分のマイドキュメント)、またこのマクロファイルに戻った際に、こ
>のファイルの保存先が自分のマイドキュメントになってしまうと言う不具合から、フルパ
>スを切る様にしました。 
 
上記の現象は他のブックを開く操作をしただけではこちらでは再現しません。
「他のEXCELファイル」がアクティブであるときにマクロを実行するとそうなるようです。
ActiveWorkbookプロパティは「どのブックがアクティブであるか特定できない」時に使用
しない方が良いでしょう。保存しようとしているブックにこのマクロが設定されているの
であれば、ThisWorkbookプロパティで取得してみてはいかがでしょうか。
 
あるいは、該当フォルダを全てのPCで同じネットワークドライブ番号を割り振る、という
方法もあります。
 
>保管先PCでマイク ロソフトオフィースエクセル形式を選ぶと(中略)
>ネットワーク上PC(Pro-2000,Pro-2003しか確認を取っていませんが)から
> ファイルを読み込むとエクセルが固まります。
 
2003形式で保存されますから、2000で開けないのはわかりますが、同じバージョンの2003
でも開けない、というのは納得がいきません。手動で保存したときも同じくそうなるので
あれば、原因究明は私の能力外です。
 
>ベースとなる従来からのファイルの保存で不具合が生じています。
 
複数のバージョンからの保存の繰り返しになるので、バージョン間の保存の仕様の違いの
蓄積が原因である可能性が絶対ないとは私には言い切れません。
では、「従来からのファイル」のマクロを含めた内容を全て新規ブックに移植した場合は
どのような動作になるか、興味のあるところではあります。
 
運用上の問題として、ブックの量産をしているのは気になるところです。
(みやほりん)(-_∂)b

みやほりん様、おはようございます。連休でお返事が遅れてしまい誠に申し訳ございませんでした。

今回初めてエクセルマクロを使ったので、色々ご迷惑をお掛けしておりすいません。

 >保存を行い、ネットワーク上PC(Pro-2000,Pro-2003しか確認を取っていませんが)から
 >ファイルを読み込むとエクセルが固まります。
 と先日明記しましたが、正式には(言葉足らずですいません)2000の場合、Resistエラー(当然2003形式な
 ので)で固まり、2003の場合はこの保存先PC(HOST)を保存後リブートしないと"ご迷惑を・・・"で固まります。

 >ThisWorkbookプロパティで取得してみてはいかがでしょうか。
 とフルパスを切るのでは、どちらが記述的に正しいのでしょうか?

 >ネットワークドライブ番号を割り振る
 と、保存先を(例)Z\:My Docment\・・・と記述した際には、結局保存先PCで保存出来ないと思われます。
(現在ドライブC\:に保存)

 >運用上の問題として、ブックの量産
 と書かれておりますが、発行番号を累計で取っており(自動取得)この発行記録を残す為に、1つのファ
 イルが何度も上書きされおります。確かに、日々ファイルのバイト数が増えて行き(ログを取っているの
 で当然なのですが)この点はどうにかしなければならないと思います。今のところ、2年前のログを切
 り出し、年度更新時には1年分のログだけは軽くしようと思いますが。。。。

 先日もお話ししましたが、保存先がXP-Homeと言う点が気になります。みんな出払った際に(又は夜)、Pro
 をHOSTにして検証してみたいと思います。

以上よろしくお願い致します。


 本業が忙しくて返信が遅れました。
 
>2000の場合、Resistエラー(当然2003形式な ので)で固まり、・・・
2007を使用している環境が手近にないので、97-2003形式が2000及び2003で読み込み
不能になるのか、検証が出来ません。が、「97、2000、2003で読み込める形式」とい
う意味に私は捉えているのですが。
 
>どちらが記述的に正しいのでしょうか?
正しい・正しくないではなくて、「自機」の場合はネットワークのフルパス記述では
保存できない、と言うのが問題なのでしょう?自機で開いた場合と、他機で開いた場
合のファイルプロパティで「場所」を確認してみてくださいよ。
 
先に書いたように自機のフォルダからファイルを開いた場合、ネットワークパスが 
"\\ユーザー名\出荷依頼書原簿" だとしても、ファイルプロパティのパスは
"C:\Documents and Settings\ユーザー名\My Documents\出荷依頼書原簿"
が通ります。他機で開いた場合は "\\ユーザー名\出荷依頼書原簿" が(当然ですが)
通ります。直接パスを書く場合、自機の場合は
"C:\Documents and Settings\ユーザー名\My Documents\出荷依頼書原簿"
他機の場合は
"\\ユーザー名\出荷依頼書原簿"
と使い分ける必要がある、と考える方法もありますが、ThisWorkbook.Pathなら自他の
状況に応じたパスが取得される「はず」です。
 
>保存先を(例)Z\:My Docment\・・・と記述した際には、・・・
自機での「C:\Documents and Settings\HOST\My Documents\出荷依頼書原簿」と言うフ
ォルダ、他機から見て「\\HOST\my documents\出荷依頼書原簿」というフォルダに「Z:」
というドライブ番号を割り当てては、ということです。自機・他機全て設定する必要は
ありますが、これなら(理屈では)どのPCから見てもこのフォルダは「Z」ドライブです。
(ただし、XP環境では未検証。Windows98環境では上手く言った記憶があります。)
 
>ブックの量産
Range("J2").Value で決定されるファイル名で「名前をつけて保存」をしているマクロに
思えるのですが、勘違いであったらゴメンナサイ。マクロ実行の都度、J2セルの値によっ
てはファイルが増えるように見えるもので。
 
一応関連っぽいログ
[[20050328142927]] 『VBA:ネットのファイルへアクセスするとエラー』(忘れた)
(みやほりん)(-_∂)b


みやほりん様、こんにちは。色々ご迷惑をお掛けしております。

 さて、みやほりんさんが言われているThisWorkbook.Pathで切り直してみました。実は、ベースbookから
 新たに作ったファイル(1sheet)を(マクロ保存後)再度開いて、マクロで保存しようとした所、XXXファイ
 ルにアクセス出来ません。実行エラー'1004'で保存出来ませんでした。但し、メニューボタンの上書き
 保存で出来ましたが、この様な現象が起きていました。憶測ですが、初回は問題無いが、保存が2回目
 以降不具合が生じる様です。

 ファイル名 = Range("J2").Value
    Application.DisplayAlerts = False           'メッセージを出さない
If Val(Application.Version) < 12 Then
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ファイル名 & ".xls", FileFormat:=43
Else
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & ファイル名 & ".xls", FileFormat:=56
End If
End Sub

 上記のマクロだと、実行エラー'1004'を解決出来ましたが、はやり保存先のPCでは、マクロやボタン、及び
 メニューから(EXECL97-2003形式)保存出来ません。一応ThisWorkbook.Pathでの運用を行ってみます。

 >ブックの量産
 1年間でベースファイルから、新たなファイルが2数十個程出来ます。ベースファイルにも発行日、
 宛先等の項目行が同行分書かれます。今まで手書きだったので、それを考えると全然楽です。

 本来の目的の2000〜2007での保存から、ネットワークでの保存での不具合に変わってしまい申し訳ございません。
 本来の業務は営業職で、エクセルマクロは今回初めてで、また平行してアクセスも作っており(こちらも
 初めてです。)なんだか頭の中がグルグルで訳が分からなく有りそうです。よろしくご指導願います。

以上よろしくお願い致します。


 機械翻訳のため読みにくいのですが、下記のような現象が起きているような気がします。
[OFF2000: ファイルを resave するとき、 NTFS ファイル アクセス許可が変更します。]
http://support.microsoft.com/kb/278396/ja
Windows2000での問題、とされていますが、現象としては良く似ています。
(resave=再保存)
 
また、フォルダパスやファイル名のつけ方によってもファイルにアクセスできなくなる
現象があるようです。
[NTFS ファイル システム上のファイルまたはフォルダを削除できない]
http://support.microsoft.com/kb/320081/ja
 
こちらの環境(WindowsXP-Pro&Excel2003SP2)ではご提示のマクロは動作しています。
考えられるのはネットワーク環境及びその設定による影響ですが、その方面では私は力が及
びませんのであしからず。
(みやほりん)(-_∂)b

みやほりん様、こんにちは。

 わざわざ調べてもらったみたいで有り難うございました。本来の目的から外れてしまったので、少し調
 べてまた分からない様であれば、別にアップする様に致します。

 NTFSの問題ではないと個人的には感じています。同じPCの同じフォルダーに、他のエクセル・マクロ無
 しが有り、何度も上書きしていますが、こちらのファイルでは上書きセーブ出来ない等は有りません。
 マクロが存在した際に(それも特定のコマンドが有ると?)起きている様です。

色々有り難うございました。また何か有りましたら、よろしくお願い致します。

まき


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.