画像を貼り付けたexcel ブックが何百個あります、印刷した時に画像が重くて、貼った画像が印刷できなかったりしますので、ブックに貼った画像を圧縮してブック保存することにしました。
excelブックを一つずつ開いて図を圧縮し保存するのが手間なので、マクロでできないかと、探してみたんですが、なかなか見つかれない。
ファイル開いて保存し閉じるマクロ見つけたんですが、画像の圧縮部分をどのように書けばいいのか
わからなくて、皆さんに助けを求め質問させていただきました。
excelに貼った画像枠の大きさはばらばらです、サイズを指定せずに、図形だけ圧縮、トリムしたいです。
マクロで圧縮トリムできるなら、画像の圧縮部分をどのように書けばいいのか教えてください。
よろしくお願いします。
下のマクロがファイル開いて保存し閉じるマクロです。
Private Sub CommandButton1_Click()
' フォルダ参照ダイアログを利用して、フォルダを特定する。
Dim folderName As Variant
Set folderName = CreateObject("Shell.Application") _
.BrowseForFolder( _
&O0 _
, "フォルダ選択" _
, &H1 + &H10 _
, "デスクトップ")
' フォルダが選択されたか否か判別する。
If folderName Is Nothing Then
MsgBox "中止します"
Exit Sub
End If
' 単純なループカウンタ
Dim lp1 As Long, lp2 As Long
' FileSystemObjectを作成する。
Dim Obj As Object
Set Obj = CreateObject("Scripting.FilesystemObject")
' 選択されたフォルダ配下に存在するファイル名を取出す為の変数
Dim fileName As String
Dim fileNames() As String
ReDim fileNames(0) As String
' 選択されたフォルダ配下に存在するファイル名を取出す
fileName = Dir(folderName.Self.Path & "\*.xls")
Do While fileName <> vbNullString
' ファイル名を配列に取込む。
ReDim Preserve fileNames(UBound(fileNames) + 1) As String
fileNames(UBound(fileNames)) = _
folderName.Self.Path & "\" & fileName
fileName = Dir()
Loop
' 全てのExcelファイルを順次開いて閉じる。
For lp1 = 1 To UBound(fileNames)
' 開いたファイルのブック名を取得する。
Dim bookName As String
bookName = Obj.GetFileName(fileNames(lp1))
' 開いたファイルの全シートを全て参照する。
For lp2 = 1 To Workbooks(bookName).Sheets.Count
' ***************
' 集計処理を行う
' ***************
Next
' 開いていたExcelファイルを保存して閉じる。
Workbooks(bookName).Close SaveChanges:=False
Next
' メモリを解放する。
Erase fileNames
' オブジェクトを破棄する。
Set Obj = Nothing
Set folderName = Nothing
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
VBAが趣味ならもうちょっと頑張ってみればいいだけですが
お仕事のようですから、手作業でさっさとやってしまったほうがいいでしょう。
1時間に100ファイル処理すれば何時間かで終わります。
1日に1時間ほどやれば3日で300ファイル終わります。
<方法>
ファイルを10個ほど開いておき、以下を10回分繰り返します
ファイル⇒ オプション ⇒ 詳細設定
→ 解像度(150、96 などを選択) → 項目確認 → 上書き保存
回答ありがとうございました。確かに、手作業でやっても終わる仕事ですが、vbaでやりたくてがんばってみました。
理由はよくわかりませんが、”FileFormat:=xlExcel8 ”この文追加することで圧縮保存できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
VBAで画像圧縮はできますか?
Visual Basic(VBA)
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
-
4
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
5
エクセルマクロで図の圧縮を行うには
PowerPoint(パワーポイント)
-
6
VBAでJPGサイズ変更
Visual Basic(VBA)
-
7
【ExcelVBA】図の縮小貼付時のトラブル
その他(Microsoft Office)
-
8
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
9
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
10
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
11
2-メチルプロパン
化学
-
12
インテリア関係のお仕事について
家具・インテリア
-
13
エクセルに画像を貼付け縮小する作業をマクロにしたいのですが、
Excel(エクセル)
-
14
エクセルのシートに貼りつけたbmpをjpegに
その他(Microsoft Office)
-
15
Excel Selectは使わない? VBA
Excel(エクセル)
-
16
無線LAN、接続がすぐ切れる
Wi-Fi・無線LAN
-
17
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
18
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
19
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
20
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの特定行の削除
-
WINDOWS CMDからゴミ箱のファ...
-
Excel: ファイル名になぜ、[...
-
vbsからのExcelマクロ呼び出し...
-
彼女の過去の恋愛に嫉妬してし...
-
iCloud for Windowsをアンイン...
-
ファイルが移動してもリンクの...
-
複数のExcelファイルにある同名...
-
FTPのgetとputの使いわけ。
-
VBScriptでExcelファイルをDLす...
-
docxをmht形式で保存したファイ...
-
batでファイル名を変更したい(...
-
ImageJのマクロ機能についてです
-
EXCELVBAにて文字列にして「01...
-
ダウンロードダイアログについて
-
VBAにおいて、ファイルの移...
-
このファイルは外部のエディタ...
-
テキストファイル操作 実行時...
-
ファイルの同一性を判定するID...
-
エクセルの一時ファイルが保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
[Unity]シーンファイルの中が消...
-
Excel: ファイル名になぜ、[...
-
彼女の過去の恋愛に嫉妬してし...
-
iCloud for Windowsをアンイン...
-
vbsからのExcelマクロ呼び出し...
-
FTPのgetとputの使いわけ。
-
WINDOWS CMDからゴミ箱のファ...
-
ファイルが移動してもリンクの...
-
EXCELVBAにて文字列にして「01...
-
複数のExcelファイルにある同名...
-
このファイルは外部のエディタ...
-
自動で.xlsを閉じて指定フォル...
-
docxをmht形式で保存したファイ...
-
mediaplayerの取り込みフォルダ...
-
VBAにおいて、ファイルの移...
-
エクセルのファイル:「自分」が...
-
エクセル保存終了で一時ファイ...
-
ノーツの添付ファイルの場所を...
-
共有エクセルファイルでのユー...
おすすめ情報