過去ログ

                                Page     642
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ページ設定を繰り返すとメモリ不足に  困ったチャン 03/1/29(水) 14:41
   ┗Re:ページ設定を繰り返すとメモリ不足に  BOTTA 03/1/29(水) 20:09
      ┗Re:ページ設定を繰り返すとメモリ不足に  困ったチャン 03/1/30(木) 8:58

 ───────────────────────────────────────
 ■題名 : ページ設定を繰り返すとメモリ不足に
 ■名前 : 困ったチャン
 ■日付 : 03/1/29(水) 14:41
 -------------------------------------------------------------------------
   OS:Windows XP
Excel:2000
シート100枚をページ設定するマクロを作りましたが、実行すると途中で「メモリ不足です」とメッセージが出てしまい処理が進まなくって困ってます。

とりあえず原因を調べようとタスクマネージャでページファイルを見ると処理が進む毎にすごいスピードで増えて行きます。
1GBまで行くと「メモリ不足です」と出ます。

ページファイルはファイルを保存しても、ファイルを閉じても解放されずExcelを終了した時点で解放されています。

途中にVBAのコードを入れてページファイルを解放してやれば「メモリ不足」を回避できると思うのですが、どんなコードを入れたらよいのか分かりません。

どなたかご存知の方がいらっしゃいましたら、よろしくお願いいたします。
 ───────────────────────────────────────  ■題名 : Re:ページ設定を繰り返すとメモリ不足に  ■名前 : BOTTA  ■日付 : 03/1/29(水) 20:09  -------------------------------------------------------------------------
   困ったチャンさん、こんばんは。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=869;id=excel
このツリーは参考になりませんか?

>OS:Windows XP
当方この環境でないので、再現出来ません。

あとは、APIを使ってメモリを解放するとか???
(これもほとんどわかってない^^;)
 ───────────────────────────────────────  ■題名 : Re:ページ設定を繰り返すとメモリ不足に  ■名前 : 困ったチャン  ■日付 : 03/1/30(木) 8:58  -------------------------------------------------------------------------
   ▼BOTTA さん:
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=869;id=excel
>このツリーは参考になりませんか?

ありがとうございますっ。
早速試してみました。
でも、残念ながら効果は見られず同様の現象が出てしまいます。
下記のように不要な行をコメントにすると少し改善されますが、解決には至らないという状況です。

  ActiveSheet.PageSetup.PrintArea = "$A$1:$AD$10"
  With ActiveSheet.PageSetup
    .PrintTitleRows = "$1:$6"
    '.PrintTitleColumns = ""
    '.LeftHeader = ""
    '.CenterHeader = ""
    '.RightHeader = ""
    '.LeftFooter = ""
    '.CenterFooter = ""
    '.RightFooter = ""
    .LeftMargin = Application.InchesToPoints(0.2)
    .RightMargin = Application.InchesToPoints(0)
    .TopMargin = Application.InchesToPoints(0.2)
    .BottomMargin = Application.InchesToPoints(0.2)
    .HeaderMargin = Application.InchesToPoints(0.5)
    .FooterMargin = Application.InchesToPoints(0.5)
    '.PrintHeadings = False
    '.PrintGridlines = False
    '.PrintComments = xlPrintNoComments
    '.PrintQuality = 600
    '.CenterHorizontally = False
    '.CenterVertically = False
    .Orientation = xlLandscape
    '.Draft = False
    '.PaperSize = xlPaperA4
    '.FirstPageNumber = xlAutomatic
    '.Order = xlDownThenOver
    .BlackAndWhite = True
    .Zoom = 85
  End With
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 642