ExcelのVBAマクロの記述方法で質問致します。

下記のように記述しているのですが、どうしてもWeb保存の際、「再計算」が入ってしまいます。「再計算」が入らずにWeb保存が実行されるためには、どのように記述すればよいでしょうか?

ちなみに「ツール」→「オプション」→「計算方法」のところは「手動」にしてあり、かつ「保存前に再計算」にはチェックは既にはずしてあります。それでもダメです。

どうぞよろしくお願い致します。







Sub Web保存()

Application.Calculation = xlManual
CalculateBeforeSave = False

Worksheets("Web").Select
Range("A1").Select
パス = Worksheets("窓口").Range("B12").Value
ファイル名 = "r" & Worksheets("Web").Range("AI3").Value & ".htm"
タイトル = "テスト" & Worksheets("Web").Range("AH4").Value

With ActiveWorkbook.PublishObjects.Add _
(SourceType:=xlSourceRange, _
Filename:=パス & "\" & ファイル名, _
Sheet:="Web", _
Source:="$B$2:$AD$36", _
Title:=タイトル)
.Publish False
.AutoRepublish = False
End With

End Sub

回答の条件
  • 1人1回まで
  • 登録:2009/09/08 21:55:10
  • 終了:2009/09/09 18:15:23

回答(1件)

id:van-dine No.1

van-dine回答回数108ベストアンサー獲得回数112009/09/08 22:39:06

ポイント60pt

Worksheet.EnableCalculation メソッドを使います。

Web保存の前に、Worksheet.EnableCalculation = Falseを、

Web保存の後に、Worksheet.EnableCalculation = Trueを記入します。

id:miku1973

424オブジェクトが必要です。

というエラーメッセージが出ました。

もう一歩のようですが・・・

どうぞよろしくお願い致します。

2009/09/08 23:27:24
  • id:SALINGER
    私の環境では、「保存前に再計算」のチェックをはずせば再計算はされません。
    CalculateBeforeSave = False
    が、Application.CalculateBeforeSave = False
    になっていないことが問題なのかも。
  • id:HALSPECIAL
    HALSPECIAL 2009/09/09 07:10:43
    '#再計算されてしまう理由は分からないですが
    '#オブジェクトのエラーに関してのみ言うならば
    '#そのまま記述したのではエラーになりますよ。
    Worksheet.EnableCalculation = False

    '---------------------------------------------
    'Selectの後にこう書くか、
    Worksheets("Web").Select
    ActiveSheet.EnableCalculation = False
    '---------------------------------------------
    'シートを指定してこう書くかすればいいです
    Worksheets("Web").EnableCalculation = False
    '---------------------------------------------
  • id:miku1973
    > Worksheets("Web").Select
     
    これでうまくできました!!
    ありがとうございます!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません