1-10 KIiweb のExcelシートをHTML変換で不具合発生
(1)概略
 Kiwebは、ワ−クシ−トの内容をHTML変換あするマクロで、19年ほど前に作成したマクロですが、今でもよく
使用しています。Excel2010まで問題無かったが、Excel2016ではシート上の画像をHPMLで表示に変換中に
エラーが発生します。
これは、1-1項KIkabu(nabe)「(3-2) 改善策2」及び、前1-9と同じ改善を織り込みましたが、既にの改善策は
2箇所に紹介済みであり本項では省略します。

別のExecl2016のバグを思われるも問題が発生して、シート上の画像のサイズが変換にしたHTMLファイルでは
大きく変わってしまい、対応策が必要になったので、その内容を詳しく掲載します。

(2)不具合発生原因
特にエラーでストップではありませんが、マクロの中でシート全体をコピーして別シート貼り付けていますが、
元の画像は貼り付け後のシートだはサイズが異なり、HTMLの表示のサイズもも元のおおきさでは無い。
【図1-10a】元シートの画像、  

左図上側は、「セルに合わせて移動
やサイズ変更する」の設定です。

左図下側は、「セルに合わせて
移動するがサイズは変更しない」
の設定です。


このシートの左上隅をクリックして、
シート全体を選択状態にすして、
コピーをクリック。

別のシートのA1セルを選択して貼付
を実行する。Excel2010までは通常
別のシート側には同じサイズの画像
が表示されるが、Excel2016では、
サイズが変わる。



【図1-10b】別シートに貼り付けた画像、

Excel2016だは下側の画像のサイズは変わる。
(本図はExcel2016の不具合発生図です)

Kiwenは変換対象のシートには触らず、別シートに
貼り付けたシートに対して必要な処理を行うので
HTMLに変換後の画像サイズは、元の大きさでは
なくなる。



(3) 改善策
シート全体を選択しコピーし、別シートに貼り付ける方式を止め、元シートをアクティブにしたら、「書式」→「シート
の移動またはコピー」→「新しいブップ」を選択して「OK」クリップで、HTMLへ変換するシートを作る。


(3-1) 改善前
Cells.Selectでシート全体コピーしているが、追加したブック名のダブり回避等カナリヤ難しい操作を行っている。
 1999/06/06初版であり、18年前のExcel97頃の作品で、覚えていないがもう15年以上問題なく活用している。
【Module1】
Windows(bbase).Activate
Sheets(sbase).Select
Selection.Copy
 
'HTMLを貼るブック作成
Workbooks.Add
Range("A1").Select
Range("A2").Select
 
bname = ActiveWindow.Caption
If bname = Left(bbase, 5) Then Windows(bname).Activate
ActiveWorkbook.Saved = True
 
Workbooks.Add
Range("A1").Select
ActiveSheet.Paste Range("A2").Select
bname = ActiveWindow.Caption
End If Application.CutCopyMode = False

(3-2) 改善後
「書式」→「シートの移動またはコピー」→「新しいブップ」を選択して「OK」で、Exceel2016でもOKになった。
【Module1】
Windows(bbase).Activate
Sheets(sbase).Select
  HTMLを貼るブック作成
Application.CutCopyMode = False
Sheets(sbase).Copy
Range("A2").Select
  bname = ActiveWindow.Caption
 
 



【戻る】    【HPへ】