<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>写真  |  独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/tag/%E5%86%99%E7%9C%9F/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 09 Apr 2023 19:24:39 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>写真  |  独学エクセル塾</title>
	<link>https://dokugakuexcel.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">194648711</site>	<item>
		<title>【マクロVBA】写真・図を変数や配列のように格納して、様々なサイズ・位置に貼り付ける方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%2586%2599%25e7%259c%259f%25e3%2583%25bb%25e5%259b%25b3%25e3%2582%2592%25e5%25a4%2589%25e6%2595%25b0%25e3%2582%2584%25e9%2585%258d%25e5%2588%2597%25e3%2581%25ae%25e3%2582%2588%25e3%2581%2586%25e3%2581%25ab%25e6%25a0%25bc%25e7%25b4%258d</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 14:55:11 +0000</pubDate>
				<category><![CDATA[写真・図]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[配列]]></category>
		<category><![CDATA[写真]]></category>
		<category><![CDATA[変数]]></category>
		<category><![CDATA[貼り付け]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3518</guid>

					<description><![CDATA[写真や図を変数や配列のように格納して活用したいと思ったことはないでしょうか。 通常であれば、写真・図を貼り付けたい場合はコピーペーストして対応すると思いますが、貼り付け位置が多い場合や、貼り付けのパターンが多ければコピペ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong><span class="marker-under">写真や図を変数や配列のように格納して活用</span></strong>したいと思ったことはないでしょうか。</p>



<p>通常であれば、写真・図を貼り付けたい場合はコピーペーストして対応すると思いますが、<br>貼り付け位置が多い場合や、貼り付けのパターンが多ければコピペでの貼り付けは面倒です。</p>



<p>そこで今回はマクロVBAで変数・配列のように図を格納して好きな位置に</p>



<p>貼り付ける方法を紹介します。<br>是非参考にしてみてください。それではみていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎プログラムの考え方について</a></li><li><a href="#toc3" tabindex="0">&#x2b1b;︎実践編:写真・図を格納して貼り付ける方法</a><ol><li><a href="#toc4" tabindex="0">・①指定範囲内にある写真・図を選択する</a></li><li><a href="#toc5" tabindex="0">・②写真・図を保存して、そのパスを変数に格納する</a></li><li><a href="#toc6" tabindex="0">・③指定位置に貼り付ける</a></li><li><a href="#toc7" tabindex="0">・④プログラム終了後は写真・図ファイルを削除する</a></li><li><a href="#toc8" tabindex="0">・プログラムまとめ</a></li></ol></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎応用:見本のプログラム</a><ol><li><a href="#toc10" tabindex="0">・格納した写真・図をブック内の全てのシートに貼り付ける。</a></li></ol></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc12" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</span></h2>



<p><strong><span class="marker-under">黄色の蛍光ペン</span></strong>の部分をお好みで打ち換えてください。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, <span class="bold-red">PhotoName</span> As String

For Each <span class="bold-blue">TARGET </span>In ActiveSheet.Shapes '写真を繰り返し選択
　If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("<strong><span class="marker-under">切り取り範囲</span></strong>")) Is Nothing And _
　　Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("<strong><span class="marker-under">切り取り範囲</span></strong>")) Is Nothing Then
　　　TARGET.Select False '指定範囲に入っていない写真は除外
　End If
Next <span class="bold-blue">TARGET</span>

With Selection
　WideValue = .Width '幅を格納
　HighValue = .Height '高さを格納
　.Copy '対象をコピー
End With　

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "<span class="bold-green">Targerpicture</span>" 'チャートの作成
ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

<span class="bold-red">PhotoName</span> = "<strong><span class="marker-under">保存するパス</span></strong>" &amp; "\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>")
　.Chart.Export <span class="bold-red">PhotoName</span> '写真を名前をつけて保存
　.Delete
End With

Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
　　　　　　　　  FileName:=<span class="bold-red">PhotoName</span>, _
                          LinkToFile:=False, _
　　　　　　　　  SaveWithDocument:=True, _
　　　　　　　　  Left:=ActiveSheet.Range("<strong><span class="marker-under">貼り付け位置</span></strong>").Left, _
　　　　　　　　  Top:=ActiveSheet.Range("<strong><span class="marker-under">貼り付け位置</span></strong>").Top, _
　　　　　　　　  Width:=ActiveSheet.Range("<strong><span class="marker-under">貼り付けサイズ</span></strong>").Width, _
　　　　　　　　  Height:=ActiveSheet.Range("<strong><span class="marker-under">貼り付けサイズ</span></strong>").Height) '貼り付け

Kill <span class="bold-red">PhotoName</span> '写真を消す

End Sub
</pre>



<p></p>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎プログラムの考え方について</span></h2>



<p>まず結論から言うと<strong><span class="marker-under">配列や変数などに写真・図を格納することは不可能</span></strong>です。<br>しかし、<strong><span class="marker-under">似たような事をすることは出来ます</span></strong>。</p>



<p>様々な方法があるのかもしれませんが今回紹介する方法は<br><strong><span class="marker-under">写真・図を一旦保存して、そのファイル名を変数に書き込み<br>その変数を用いて指定位置に貼り付け</span></strong>ます。</p>



<p>なので手順としては</p>



<pre class="wp-block-verse">①指定範囲内にある写真・図を選択する
②写真・図を保存して、そのパスを変数に格納する
③指定位置に貼り付ける
④プログラム終了後は写真・図ファイルを削除する</pre>



<p>と言った流れになります。<br>では実践編をみていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">&#x2b1b;︎実践編:写真・図を格納して貼り付ける方法</span></h2>



<p>では①から④の順に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">・①指定範囲内にある写真・図を選択する</span></h3>



<p>まずは<strong><span class="marker-under">格納したい写真・図を名前をつけて保存</span></strong>したいと思います。<br>注意点としてVBAで保存できるのは「Chart」となります。<br>「Chart」はグラフを意味します。</p>



<p>なのでイメージとして<strong><span class="marker-under">「Chart」を作成して<br>そこに指定した写真・図を貼り付けて写真・図ごと「Chart」を保存する</span></strong><br>といった流れです。</p>



<p>ではまず、保存したい写真・図を選択します。<br>見本の写真は下図の通りです。</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="486" height="203" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81.png" alt="" class="wp-image-3519" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81.png 486w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-81-300x125.png 300w" sizes="(max-width: 486px) 100vw, 486px" /></figure>



<p>今回は指定範囲内にある写真・図を登録してみましょう。</p>



<p>構文はこちらです。</p>



<pre class="wp-block-verse">For Each <span class="bold-blue">TARGET</span> In ActiveSheet.Shapes '写真を繰り返し選択

If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("<strong><span class="bold-red">A1:D5</span></strong>")) Is Nothing And _
Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("<span class="bold-red">A1:D5</span>")) Is Nothing Then
TARGET.Select False '指定範囲に入っていない写真は除外
End If
Next 
<span class="bold-blue">TARGET</span></pre>



<p>今回は見本で<strong><span class="marker-under-red">「<span class="bold-red">A1からD5</span>」にある写真・図を対象</span></strong>にしました。<br>なので「Range(&#8220;A1:D5&#8221;)) Is Nothing」で範囲をしぼっています。</p>



<p>仕組みとして<strong><span class="marker-under">「TopLeftCell」で写真の左上、「BottomRightCell」で写真の右下を検知し、<br>対象範囲内にあるか確認</span></strong>しています。</p>



<p>その後、範囲内に該当する写真・図については選択した状態を維持するようになります。<br>実行した結果はこちら。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="388" height="150" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82.png" alt="" class="wp-image-3520" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82.png 388w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-82-300x116.png 300w" sizes="(max-width: 388px) 100vw, 388px" /></figure>



<p>これで選択は出来ましたが、選択した写真・図を<br>「<strong><span class="marker-under-blue">Chart」に貼り付ける</span></strong>必要があります。<br>しかし、通常の状態で「Chart」を生成すると選択した写真・図のサイズとは<br>異なってしまいます。</p>



<p>そこで<strong><span class="marker-under-blue">現在の写真・図のサイズを格納し、そのサイズに見合った<br>「Chart」を生成</span></strong>する必要があります。</p>



<p>ではプログラムを見ていきましょう。</p>



<pre class="wp-block-verse">Dim <span class="bold-red">WideValue</span>, <span class="bold-blue">HighValue</span>

With Selection
<span class="bold-red">WideValue</span> = .Width '幅を格納
<span class="bold-blue">HighValue</span> = .Height '高さを格納
.Copy '対象をコピー

End With</pre>



<p>現状は対象の写真を選択している状態です。<br>その選択した写真を対象に<strong><span class="marker-under">「<span class="bold-red">WideValue</span> = .Width」で写真・図の幅を格納</span></strong>し、<strong><span class="marker-under">「<span class="bold-blue">HighValue</span> = .Height 」で写真・図の高さを格納</span></strong>します。<br>さらに貼り付けるため、対象をコピーしています。</p>



<p>では、チャートを作成して、対象の写真を貼り付けてみましょう。<br>プログラムはこちら</p>



<pre class="wp-block-verse">ActiveSheet.ChartObjects.Add(0, 0,<span class="bold-red"> WideValue</span>, <span class="bold-blue">HighValue</span>).Name = "Targerpicture" 'チャートの作成
ActiveSheet.ChartObjects("Targerpicture").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす</pre>



<p>まずはチャートの作成の構文はこちらです。</p>



<pre class="wp-block-verse"><strong>ActiveSheet.ChartObjects.Add(<span class="bold-green">左端からの距離</span>, <span class="bold-green">上端からの距離</span>, <span class="bold-red">幅</span>, <span class="bold-blue">高さ</span>).Name = "チャートの名前"</strong></pre>



<p>左端からの距離と上端からの距離については今回は写真として<strong><span class="marker-under">保存するだけなので<br>それぞれ「0」</span></strong>とします。<br><span class="bold-red">幅</span>と<span class="bold-blue">高さ</span>については、先ほど変数に格納した「<span class="bold-red">WideValue</span>」「<span class="bold-blue">HighValue</span>」が該当します。</p>



<p>そして今回はチャートの名前を「Targerpicture」としました。<br>こちらを２行目のプログラムでアクティブ状態にします。</p>



<p>さらに3行目の<strong><span class="marker-under">「ActiveChart.Paste」でチャートに写真を貼り付け</span></strong>ます。<br>そして最後にチャートの外枠を無くしました。外周に黒い線が残ってもいい場合はこちらは省略してください。</p>



<p>ではこれでChart形式の写真・図ができました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="451" height="216" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83.png" alt="" class="wp-image-3521" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83.png 451w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-83-300x144.png 300w" sizes="(max-width: 451px) 100vw, 451px" /></figure>



<h3 class="wp-block-heading"><span id="toc5">・②写真・図を保存して、そのパスを変数に格納する</span></h3>



<p>ではChart形式で保存できるようになったので、<br><strong><span class="marker-under">指定フォルダに保存&amp;変数にパスを格納</span></strong>していきましょう。</p>



<p>プログラムはこのようになります。</p>



<pre class="wp-block-verse">Dim <span class="bold-red">PhotoName</span> As String

<span class="bold-red">PhotoName</span> = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("Targerpicture")
.<span class="bold-blue">Chart.Export</span> <span class="bold-red">PhotoName</span>
.Delete
End With</pre>



<p>では仕組みを紹介します。<br>現在は①でチャート形式にした写真・図を作成している状態です。</p>



<p>まず変数で写真・図を保存する名前をフルパスを含めて決めています。<br>つまり、<strong><span class="marker-under-blue">フルパスで指名したフォルダ・ファイル名で一旦<br>写真・図を保存する</span></strong>ようになります。</p>



<p>見本では「ローカルディスクC」の「検証ファイル」に保存して、<br>写真・図名を「貼り付け用写真」としました。<br>写真・図なので拡張子を「.jpg」としています。</p>



<p>そして「<span class="bold-blue">Chart.Export</span>＋<span class="bold-red">先程のフルパス変数</span>」で<br>写真・図として保存を実行します。</p>



<p>つまり、このフルパスが入った変数「<span class="bold-red">PhotoName</span>」が<br>画像を貼り付ける変数になります。</p>



<p>ちなみにここまでのプログラムを実行してみましょう。<br>指定ファイルにファイルが追加されました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="650" height="204" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84.png" alt="" class="wp-image-3522" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84.png 650w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-84-300x94.png 300w" sizes="(max-width: 650px) 100vw, 650px" /></figure>



<h3 class="wp-block-heading"><span id="toc6">・③指定位置に貼り付ける</span></h3>



<p>では実際に<strong><span class="marker-under">指定位置に貼り付け</span></strong>てみましょう。<br>まず構文から紹介したいと思います。</p>



<pre class="wp-block-verse">Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
FileName:=<span class="bold-red">ここにファイル名</span>, _
LinkToFile:=False, _
SaveWithDocument:=TrueかFalse, _
Left:=<span class="bold-blue">左端からの貼り付け位置</span>, _
Top:=<span class="bold-blue">上端からの貼り付け位置</span>, _
Width:=<span class="bold-green">写真・図の幅</span>, _
Height:=<span class="bold-green">写真・図の高さ</span>)</pre>



<p>では構文に当てはめていきましょう。<br>まず「<span class="bold-red">FileName</span>」は先程のフルパスが格納された変数「<span class="bold-red">PhotoName</span>」になります。</p>



<p>次に「LinkToFile」ですが図をグラフィック ファイルとリンクするかどうかを指定します。<br>今回は「False」にします。</p>



<p>「SaveWithDocument」については文書を保存するときに図も一緒に保存するかどうかを指定します。<br>今回は「True」にしておきましょう。</p>



<p>次に貼り付け位置についてです。<br>ここでは<strong><span class="marker-under-blue">左端からの貼り付け位置が「Left」</span></strong>、<strong><span class="marker-under-blue">上端からの貼り付け位置が「Top」</span></strong>となります。<br>ここには数値でもいいですが、セルを指定しても構いません。</p>



<p>今回は見本で「<span class="bold-blue">E7</span>」に貼り付けたいと思います。</p>



<p>最後に写真のサイズを指定します。<br><strong><span class="marker-under">写真の幅は「Width」、高さは「Height」で指定</span></strong>します。</p>



<p><strong><span class="marker-under">通常のサイズを維持する場合は「<span class="bold-green">-1</span>」</span></strong>を入力します。<br>もちろん、直接サイズを入力しても構いません。</p>



<p>今回は見本で「<span class="bold-green">E7</span>」のセルのサイズに合わせて貼り付けます。</p>



<p>すべて足したプログラムはこちらです。</p>



<pre class="wp-block-verse">Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
FileName:=<span class="bold-red">PhotoName</span>, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveSheet.Range("<span class="bold-blue">E7</span>").Left, _
Top:=ActiveSheet.Range("<span class="bold-blue">E7</span>").Top, _
Width:=ActiveSheet.Range("<span class="bold-green">E7</span>").Width, _
Height:=ActiveSheet.Range("<span class="bold-green">E7</span>").Height)</pre>



<h3 class="wp-block-heading"><span id="toc7">・④プログラム終了後は写真・図ファイルを削除する</span></h3>



<p>写真・図を貼り付け終わったら最後に元の状態に戻すため<br><strong><span class="marker-under">保存した写真・図を削除</span></strong>します。</p>



<p>削除する構文はこちら。</p>



<pre class="wp-block-verse"><span class="bold-blue">kill</span><span class="bold-red"> フルパス</span></pre>



<p>では当てはめていきましょう。</p>



<p>フルパスは見本では「<span class="bold-red">PhotoName</span>」に格納しているので<br>「<span class="bold-blue">Kill </span><span class="bold-red">PhotoName</span>」だけで写真・図ファイルを削除できます。</p>



<p>これで一連の動作は完了です。</p>



<h3 class="wp-block-heading"><span id="toc8">・プログラムまとめ</span></h3>



<p>では①から④を組み合わせてみます。<br>結果はこちらです。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, <span class="bold-red">PhotoName</span> As String

For Each <span class="bold-blue">TARGET </span>In ActiveSheet.Shapes '写真を繰り返し選択
　If Not Intersect(<span class="bold-blue">TARGET</span>.TopLeftCell, Range("A1:D5")) Is Nothing And _
　　Not Intersect(<span class="bold-blue">TARGET</span>.BottomRightCell, Range("A1:D5")) Is Nothing Then
　　　TARGET.Select False '指定範囲に入っていない写真は除外
　End If
Next <span class="bold-blue">TARGET</span>

With Selection
　WideValue = .Width '幅を格納
　HighValue = .Height '高さを格納
　.Copy '対象をコピー
End With　

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "<span class="bold-green">Targerpicture</span>" 'チャートの作成
ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

<span class="bold-red">PhotoName</span> = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("<span class="bold-green">Targerpicture</span>")
　.Chart.Export <span class="bold-red">PhotoName</span> '写真を名前をつけて保存
　.Delete
End With

Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
　　　　　　　　  FileName:=<span class="bold-red">PhotoName</span>, _
                          LinkToFile:=False, _
　　　　　　　　  SaveWithDocument:=True, _
　　　　　　　　  Left:=ActiveSheet.Range("E7").Left, _
　　　　　　　　  Top:=ActiveSheet.Range("E7").Top, _
　　　　　　　　  Width:=ActiveSheet.Range("E7").Width, _
　　　　　　　　  Height:=ActiveSheet.Range("E7").Height) '貼り付け

Kill <span class="bold-red">PhotoName</span> '写真を消す

End Sub
</pre>



<p>長いですが、これで写真・図を格納して貼り付けるプログラムができました。<br>では実践してみましょう。</p>



<p>今回は「A1からD5」内の写真・図を格納して<br>「E7」に貼り付けます。</p>



<p>実行した結果はこちら。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="906" height="214" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85.png" alt="" class="wp-image-3523" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85.png 906w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85-300x71.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-85-768x181.png 768w" sizes="(max-width: 906px) 100vw, 906px" /></figure>



<p>狙い通り、貼り付けることができていますね。<br>サイズもセルの大きさに合わせて貼り付けてくれています。</p>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎応用:見本のプログラム</span></h2>



<p>ここからは先程のプログラムを応用したプログラムの事例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">・格納した写真・図をブック内の全てのシートに貼り付ける。</span></h3>



<p>まずは写真・図を格納して、<strong><span class="marker-under">ブック内のシート全ての指定位置に<br>貼り付け</span></strong>てみましょう。</p>



<p>今回は先頭のシートの「A1からD5」の中の写真・図を<br>他の全てのシートの「E7」に貼り付けるプログラムを見てみましょう。</p>



<pre class="wp-block-verse">Sub 図を格納して貼り付け()

Dim WideValue, HighValue, PhotoName As String, SheetNo, cycle

For Each TARGET In ActiveSheet.Shapes '写真を繰り返し選択
  If Not Intersect(TARGET.TopLeftCell, Range("A1:D5")) Is Nothing And _
     Not Intersect(TARGET.BottomRightCell, Range("A1:D5")) Is Nothing Then 
     TARGET.Select False '指定範囲に入っていない写真は除外
  End If
Next TARGET

With Selection
  WideValue = .Width '幅を格納
  HighValue = .Height '高さを格納
  .Copy '対象をコピー
End With

ActiveSheet.ChartObjects.Add(0, 0, WideValue, HighValue).Name = "Targerpicture" 'チャートの作成
ActiveSheet.ChartObjects("Targerpicture").Activate '作成したチャートをアクティブに
ActiveChart.Paste 'チャートに写真を貼り付ける
ActiveChart.ChartArea.Format.Line.Visible = msoFalse 'チャートの外枠をなくす

PhotoName = "C:\検証ファイル\" &amp; "貼り付け用写真.jpg"

With ActiveSheet.ChartObjects("Targerpicture")
  .Chart.Export PhotoName '写真を名前をつけて保存
  .Delete
End With

<span class="bold-blue">SheetNo</span> = Sheets.Count

For <span class="bold-red">cycle </span>= 2 To <span class="bold-blue">SheetNo </span>Step 1
  Sheets(<span class="bold-red">cycle</span>).Activate
  Set OBJSHAPE = ActiveSheet.Shapes.AddPicture( _
                           FileName:=PhotoName, _
                           LinkToFile:=False, _
                           SaveWithDocument:=True, _
                           Left:=ActiveSheet.Range("E7").Left, _
                           Top:=ActiveSheet.Range("E7").Top, _
                           Width:=ActiveSheet.Range("E7").Width, _
                           Height:=ActiveSheet.Range("E7").Height) '貼り付け
Next cycle

Kill PhotoName '写真を消す

End Sub</pre>



<p><strong><span class="marker-under-blue">「<span class="bold-blue">SheetNo</span>」に全体のシート数をカウント</span></strong>して<br>「For Next」で貼り付けてシート数分貼り付けるようにしています。</p>



<p>通常、シートを繰り返し選択する場合は「For Each 変数 In Worksheets」<br>を使用しますが、貼り付けるシートを変則的に応用するために<br>今回はシート番号で対象シートをアクティブにさせています。</p>



<h2 class="wp-block-heading"><span id="toc11">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが<br>マイクロソフト公式の説明については下記のリンクを参照してください☟</p>



<p><a href="https://learn.microsoft.com/ja-jp/office/vba/api/powerpoint.shapes.addpicture">Shapes.AddPicture メソッド (PowerPoint) | Microsoft Learn</a></p>



<h2 class="wp-block-heading"><span id="toc12">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか。<br>本記事の内容を活用すると、図を変数のように活用することができます。</p>



<p>エクセル内で図を定期的に指定位置に貼り付けたりする際には便利です。<br>署名の貼り付けなどにも活用できますね！</p>



<p>是非参考にしてみてください。<br>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%83%bb%e5%9b%b3%e3%82%92%e5%a4%89%e6%95%b0%e3%82%84%e9%85%8d%e5%88%97%e3%81%ae%e3%82%88%e3%81%86%e3%81%ab%e6%a0%bc%e7%b4%8d/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3518</post-id>	</item>
		<item>
		<title>【マクロVBA】写真の軽量化！シート・ブック内の全ての写真を軽量化する方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%81%ae%e8%bb%bd%e9%87%8f%e5%8c%96%ef%bc%81%e3%82%b7%e3%83%bc%e3%83%88%e3%83%bb%e3%83%96%e3%83%83%e3%82%af%e5%86%85%e3%81%ae/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e3%2583%259e%25e3%2582%25af%25e3%2583%25advba%25e3%2580%2591%25e5%2586%2599%25e7%259c%259f%25e3%2581%25ae%25e8%25bb%25bd%25e9%2587%258f%25e5%258c%2596%25ef%25bc%2581%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e3%2583%25bb%25e3%2583%2596%25e3%2583%2583%25e3%2582%25af%25e5%2586%2585%25e3%2581%25ae</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%81%ae%e8%bb%bd%e9%87%8f%e5%8c%96%ef%bc%81%e3%82%b7%e3%83%bc%e3%83%88%e3%83%bb%e3%83%96%e3%83%83%e3%82%af%e5%86%85%e3%81%ae/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sun, 11 Sep 2022 14:56:13 +0000</pubDate>
				<category><![CDATA[写真・図]]></category>
		<category><![CDATA[マクロVBA]]></category>
		<category><![CDATA[シート]]></category>
		<category><![CDATA[ブック]]></category>
		<category><![CDATA[貼り付け]]></category>
		<category><![CDATA[写真]]></category>
		<category><![CDATA[軽量化]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=3488</guid>

					<description><![CDATA[エクセルを使用するなかで、ファイルの容量の管理は１つの課題です。例えば写真をたくさん入れていたり、図を多用していたり、不要な行・列数を使用していたり、容量の増加の原因は様々です。 その中でも容量が大きい写真の軽量化につい [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>エクセルを使用するなかで、<strong><span class="marker-under">ファイルの容量の管理は１つの課題</span></strong>です。<br>例えば写真をたくさん入れていたり、図を多用していたり、不要な行・列数を<br>使用していたり、容量の増加の原因は様々です。</p>



<p>その中でも<strong><span class="marker-under">容量が大きい写真の軽量化について説明</span></strong>したいと思います。</p>



<p>さらに今回は<strong><span class="marker-under-red">シート・ブック内すべての写真をまとめて<br>軽量化できるプログラム</span></strong>を紹介しますので是非参考にしてみてください。</p>



<p>それではみていきましょう！</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">&#x2b1b;︎こんなことができる！</a></li><li><a href="#toc2" tabindex="0">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</a><ol><li><a href="#toc3" tabindex="0">・シート内の写真の軽量化</a></li><li><a href="#toc4" tabindex="0">・ブック内の写真の軽量化</a></li></ol></li><li><a href="#toc5" tabindex="0">&#x2b1b;︎写真が容量が大きい理由</a></li><li><a href="#toc6" tabindex="0">&#x2b1b;︎図を軽量化するプログラム</a></li><li><a href="#toc7" tabindex="0">&#x2b1b;︎対象シート内の写真を軽量化する</a></li><li><a href="#toc8" tabindex="0">&#x2b1b;︎対象ブック内の写真を軽量化する</a></li><li><a href="#toc9" tabindex="0">&#x2b1b;︎公式の説明</a></li><li><a href="#toc10" tabindex="0">&#x2b1b;︎注意点</a></li><li><a href="#toc11" tabindex="0">&#x2b1b;︎まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">&#x2b1b;︎こんなことができる！</span></h2>



<p>シート・ブック内の全ての写真を軽量化することができる</p>



<h2 class="wp-block-heading"><span id="toc2">&#x2b1b;︎忙しい人向けのコピぺ用プログラム</span></h2>



<h3 class="wp-block-heading"><span id="toc3">・シート内の写真の軽量化</span></h3>



<pre class="wp-block-verse">Sub シート内の画像軽量化()

Dim SelectPictures As Picture '対象の写真
Dim LeftPosition As Double, TopPosition As Double '左端・上端からの距離

For Each SelectPictures In ActiveSheet.Pictures
　If TypeName(SelectPictures) &lt;> "OLEObject" Then
　　SelectPictures.Select
　　LeftPosition=SelectPictures.Left
　　TopPosition=SelectPictures.Top
　　Selection.Cut
　　ActiveSheet.PasteSpecial Format:="図(JPEG)"
　　Selection.Left=LeftPosition
　　Selection.Top=TopPosition
　End If
Next

End Sub</pre>



<h3 class="wp-block-heading"><span id="toc4">・ブック内の写真の軽量化</span></h3>



<pre class="wp-block-verse">Sub ブック内の画像軽量化()

Dim SelectPictures As Picture '対象の写真
Dim LeftPosition As Double, TopPosition As Double '左端・上端からの距離
Dim CycleBook As Worksheet '対象のシート

For Each CycleBook In Worksheets 'シートを繰り返し格納
　CycleBook.Activate 'シートをアクティブ
　　For Each SelectPictures In ActiveSheet.Pictures　
　　If　TypeName(SelectPictures)&lt;>"OLEObject"Then
　　　SelectPictures.Select
　　　LeftPosition=SelectPictures.Left
　　　TopPosition=SelectPictures.Top
　　　Selection.Cut
　　　ActiveSheet.PasteSpecial Format:="図(JPEG)"
　　　Selection.Left=LeftPosition
　　　Selection.Top=TopPosition
　　　EndIf
　Next
Next
End Sub</pre>



<h2 class="wp-block-heading"><span id="toc5">&#x2b1b;︎写真が容量が大きい理由</span></h2>



<p>まず、プログラムを紹介するにあたり<br>なぜ、<strong><span class="marker-under">写真の容量が多いか理解</span></strong>しておきましょう。</p>



<p>見本でフリー素材の図を用意しました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="608" height="400" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-1.jpg" alt="" class="wp-image-3489" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-1.jpg 608w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-1-300x197.jpg 300w" sizes="(max-width: 608px) 100vw, 608px" /></figure>



<p><br>綺麗ですねー！</p>



<p>では図を拡大してみましょう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="998" height="662" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-2.jpg" alt="" class="wp-image-3490" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-2.jpg 998w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-2-300x199.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-2-768x509.jpg 768w" sizes="(max-width: 998px) 100vw, 998px" /></figure>



<p><br>図を拡大してみましょう。</p>



<p><strong><span class="marker-under">拡大しても画質は綺麗</span></strong>ですね。<br>実はこの現象が容量増加の原因となります。</p>



<p>原理を説明すると、現在のサイズは写真本来のサイズが100％でなく<br><strong><span class="marker-under">現在のサイズ以上の画質を持っている</span></strong>ことになります。<br>言い方を変えれば<strong><span class="marker-under">余分な容量を使っている</span></strong>ということになります。</p>



<p>なので今回は現在のサイズに合わせて容量を適正にする方法です。<br>では本題に移りましょう。</p>



<h2 class="wp-block-heading"><span id="toc6">&#x2b1b;︎図を軽量化するプログラム</span></h2>



<p>ではプログラムを紹介します。<br>先程の説明で容量の増加の原因は余分な容量を写真が抱えている<br>ことが原因でした。</p>



<p>解決する方法として<strong><span class="marker-under">対象の図を切り取って再度そのサイズで<br>図として貼り付けます</span></strong>。そうするとそのサイズに合わせた容量で<br>貼り付けるので、その差ぶんの容量が減る仕組みです。</p>



<p>プログラムの構造を紹介します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>対象の図.Select<br>Selection.Cut<br>ActiveSheet.PasteSpecial Format:=“図 (JPEG)”</p>
</blockquote>



<p>では説明です。<br>1行目の<strong><span class="marker-under-red">「対象の図.Select」では軽量化したい図を選択</span></strong>します。<br>2行目の<strong><span class="marker-under-red">「Selection.Cut」では先程選択した図を切り取り</span></strong>ます。<br>3行目の<strong><span class="marker-under-red">「ActiveSheet.PasteSpecial Format:=“図 (JPEG)”」<br>では切り取った写真を今のサイズの容量に合わせて貼り付け</span></strong>ます。</p>



<p>これで1つの対象の図を軽量化することができます。<br>後はブックまたはシート内の全ての写真を繰り返し選択して<br>上記の処理を行えばいいだけです。</p>



<p>では実践編を見てみましょう。</p>



<h2 class="wp-block-heading"><span id="toc7">&#x2b1b;︎対象シート内の写真を軽量化する</span></h2>



<p>ではこれまでの説明した内容をまとめて<br><strong><span class="marker-under">シート内の写真をすべて軽量化</span></strong>してみましょう。</p>



<p>まず、シート内の<strong><span class="marker-under">写真を繰り返し選択するプログラム</span></strong>を紹介します。<br>プログラムはこちらです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>For Each <span class="bold-red">変数</span> In ActiveSheet.Pictures</p>



<p>&#8216;ここに処理プログラム</p>



<p>Next</p>
</blockquote>



<p>これで<strong><span class="marker-under-red">シート内の写真を繰り返し変数に入れていきます。</span></strong></p>



<p>もう一つ課題があります。<br>それは選択した写真が「ActiveX」でないことを確認しないといけません。</p>



<p><strong><span class="marker-under-blue">「ActiveX 」とは開発タブの「挿入」にある「ActiveXコントロール」が<br>該当</span></strong>します。なぜ、ActiveX出ないことを確認する必要があるかというと<br>「Pictures 」で繰り返し変数に格納してますが、ActiveXも対象となってしまいます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="939" height="332" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67.png" alt="" class="wp-image-3491" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67.png 939w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-300x106.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-67-768x272.png 768w" sizes="(max-width: 939px) 100vw, 939px" /></figure>



<p>さらにActiveXでVBAを動かしている人も多いでしょうから<br>軽量化にするプログラムを実行すると<strong><span class="marker-under-blue">ActiveXが図になってしまう</span></strong>ということに<br>なりかねません。</p>



<p>そこで<strong><span class="marker-under-blue">ActiveXか判別できるプログラム</span></strong>は下記のようになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>If TypeName(<span class="bold-red">変数</span>) &lt;&gt; “OLEObject” Then<br>’ここに処理内容<br>End If</p>
</blockquote>



<p>条件の<strong><span class="marker-under">「OLEObject」とはActiveXを含むので<br>OLEObjectでないことを条件として処理します。</span></strong></p>



<p>さらにもう一つ課題があります。</p>



<p>それは<strong><span class="marker-under-red">切り取った位置と貼り付けた位置</span><span class="marker-under-red">が</span><span class="marker-under-red">異なる</span></strong>ことです。<br>手動で切り取ってみればわかるのですが、貼り付けの位置は現在選択しているセルになります。</p>



<p>そこで、<strong><span class="marker-under-red">切り取る前に現在の位置を記録しておき<br>貼り付けた際には記録した位置に戻す必要があります</span></strong>。</p>



<p>プログラムはこちらです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><span class="bold-blue">左端からの写真の距離変数</span> = <span class="bold-red">変数</span>.Left<br><span class="bold-green">上端からの写真の距離変数</span> = <span class="bold-red">変数</span>.Top</p>



<p>&#8216;ここに写真を切り取って貼り付けるプログラム</p>



<p>Selection.Left = <span class="bold-blue">左端からの写真の距離変数</span><br>Selection.Top = <span class="bold-green">上端からの写真の距離変数</span></p>
</blockquote>



<p>こうなります。<br>左端・上端からの写真の距離を変数に格納しておき、<br>貼り付け後に写真の位置を元の位置に戻します。</p>



<p>では総まとめです。<br>これまでの切り取って写真で貼り付ける、シート内の写真を順次選択する、<br>写真の位置を元に戻すプログラムを一つにします。</p>



<p>結果はこのようになります。</p>



<pre class="wp-block-verse">Sub シート内の画像軽量化()

Dim<span class="bold-red"> SelectPictures</span> As Picture '対象の写真
Dim <span class="bold-blue">LeftPosition</span> As Double, <span class="bold-green">TopPosition</span> As Double '左端・上端からの距離

For Each <span class="bold-red">SelectPictures</span> In ActiveSheet.Pictures
　If TypeName(<span class="bold-red">SelectPictures</span>) &lt;> "OLEObject" Then
　　<span class="bold-red">SelectPictures</span>.Select
　　<span class="bold-blue">LeftPosition</span>=<span class="bold-red">SelectPictures</span>.Left
　　<span class="bold-green">TopPosition</span>=<span class="bold-red">SelectPictures</span>.Top
　　Selection.Cut
　　ActiveSheet.PasteSpecial Format:="図(JPEG)"
　　Selection.Left=<span class="bold-blue">LeftPosition</span>
　　Selection.Top=<span class="bold-green">TopPosition</span>
　End If
Next

End Sub</pre>



<p>これで完成です。<br>今回は見本で下図のようなシートを用意しました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="634" height="422" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68.jpg" alt="" class="wp-image-3492" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68.jpg 634w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68-300x200.jpg 300w" sizes="(max-width: 634px) 100vw, 634px" /></figure>



<p>シートの容量を見てみましょう。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="38" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68-1024x38.png" alt="" class="wp-image-3493" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68-1024x38.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68-300x11.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68-768x28.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-68.png 1168w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>「<strong><span class="marker-under"><span class="bold-red">3152KB</span>」と、なかなか大きいですね。</span></strong></p>



<p>これをプログラムを実行するとこのようになりました。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="139" src="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-69-1024x139.png" alt="" class="wp-image-3494" srcset="https://dokugakuexcel.com/wp-content/uploads/2022/09/image-69-1024x139.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-69-300x41.png 300w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-69-768x104.png 768w, https://dokugakuexcel.com/wp-content/uploads/2022/09/image-69.png 1173w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong><span class="marker-under">「<span class="bold-red">288KB</span>」と容量が10倍以上小さく</span></strong>なっていますね。</p>



<h2 class="wp-block-heading"><span id="toc8">&#x2b1b;︎対象ブック内の写真を軽量化する</span></h2>



<p>今度はブック内に範囲を広げましょう。<br>考え方は先程と同様です。</p>



<p><strong><span class="marker-under">シート内の写真の軽量化の処理を<br>ブック内にあるシートすべて繰り返し処理</span></strong>をすれば可能です。</p>



<p>ではブック内のシートをアクティブにする繰り返しプログラムを<br>紹介したいと思います。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Dim 変数　As Worksheet</p>



<p>For Each 変数 In ThisWorkbook.Worksheets</p>



<p>変数.Activate<br>’ここに処理<br>Next</p>
</blockquote>



<p>これでアクティブブック内のシート全ての処理ができます。</p>



<p>では先ほどのプログラムに追加してみましょう。<br>このようになります。</p>



<pre class="wp-block-verse">Sub ブック内の画像軽量化()

Dim SelectPictures As Picture '対象の写真
Dim LeftPosition As Double, TopPosition As Double '左端・上端からの距離
Dim CycleBook As Worksheet '対象のシート

For Each CycleBook In Worksheets 'シートを繰り返し格納
　CycleBook.Activate 'シートをアクティブ
　　For Each SelectPictures In ActiveSheet.Pictures　
　　If　TypeName(SelectPictures)&lt;>"OLEObject"Then
　　　SelectPictures.Select
　　　LeftPosition=SelectPictures.Left
　　　TopPosition=SelectPictures.Top
　　　Selection.Cut
　　　ActiveSheet.PasteSpecial Format:="図(JPEG)"
　　　Selection.Left=LeftPosition
　　　Selection.Top=TopPosition
　　　EndIf
　Next
Next
End Sub</pre>



<p>これで先ほどシート内の写真を軽量化しましたが<br>ブック単位で軽量化することができます。</p>



<h2 class="wp-block-heading"><span id="toc9">&#x2b1b;︎公式の説明</span></h2>



<p>わかりやすいように説明したため公式と使用する語句が異なりますが マイクロソフト公式の説明については下記のリンクを参照してください。☟</p>



<p><a href="https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.pastespecial">Worksheet.PasteSpecial メソッド (Excel) | Microsoft Docs</a></p>



<h2 class="wp-block-heading"><span id="toc10">&#x2b1b;︎注意点</span></h2>



<p>今回紹介した方法は、<span class="marker-under"><strong>現在の写真のサイズに合わせて<br>画質を揃える方法</strong></span>でした。</p>



<p>しかし言い換えると、これまでは拡大しても画質が綺麗だったにも<br>かかわらず、<strong><span class="marker-under">プログラム実行後は拡大すると画質が悪くなります。</span></strong></p>



<p>写真を使いまわしたい場合は別のバックアップ等取っておく<br>必要がありますので、実行の際は気をつけてください。</p>



<h2 class="wp-block-heading"><span id="toc11">&#x2b1b;︎まとめ</span></h2>



<p>いかがだったでしょうか。<br>エクセルで図を貼り付ける機会がたくさんある方は<br>ファイルが重くなってないか確認してみてください。</p>



<p>重ければ入力や動作が遅くなる上<br>添付して送信する際にも時間がかかるなど<br>いいことはありません。</p>



<p>是非参考にしてみてください<br>それでは次回の記事でお会いしましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e3%83%9e%e3%82%af%e3%83%advba%e3%80%91%e5%86%99%e7%9c%9f%e3%81%ae%e8%bb%bd%e9%87%8f%e5%8c%96%ef%bc%81%e3%82%b7%e3%83%bc%e3%83%88%e3%83%bb%e3%83%96%e3%83%83%e3%82%af%e5%86%85%e3%81%ae/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3488</post-id>	</item>
	</channel>
</rss>
