プロが教えるわが家の防犯対策術!

前に同じ内容でHTMLの左寄せの話を投稿した者です。
今度は1行目の空白について教えてください。

【経緯は前回と同じです】
会社のみんなが、手軽に更新履歴を書き込めるように、マクロにてエクセル内のあるシートをHTML化しています。
上記で自動生成したファイルは実はあるHTMLファイルのフレームの部品となっています。(Top、Left、RightのうちのRightです)

しかし上記のファイルはなぜか、必ず1行目にかなり大きい空白が入るため、見た目が非常に不細工です。(Rigthのフレームだけデータの始まりがかなり下のほうになる)

何とかマクロの範疇でHTML化したときに、上部の空白の大きさのコントロールはできないでしょうか??

以下マクロのHTML化の部分です。
--------------------------------------------------
'HTML化始め
With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"HTMLのパス", "シート名", "" _
, xlHtmlStatic, "test0001_29648", "")
.Publish (True)
.AutoRepublish = False
End With
'HTML化終了
--------------------------------------------------

A 回答 (2件)

こんばんは。



修正版を、以下に書いていますが、もしも、加えることがあるなら、こちらでもかまいません。#1 と、以下とでは、TITLE 項目の出力が違います。このご質問の元のマクロは、名前付き引数ではありませんので、良く意図を理解していません。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2359404
( http://okwave.jp/kotaeru.php3?q=2372623 )
    • good
    • 0

こんばんは。

Wendy02です。

>何とかマクロの範疇でHTML化したときに、上部の空白の大きさのコントロールはできないでしょうか??

前回、私は書かなかったというか、そちらの問題だから、ご指摘はしなかったのですが、

PublishObjects.Add(xlSourceSheet, "HTMLのパス", "シート名", "" , _
xlHtmlStatic, "test0001_29648", "")

わざわざ、「""」とたら、引数のいくつかは、Variant型だから、「""」 とすれば、長さ0の文字列として出てくるはずです。タイトルを入れるか入れないか、などの問題は、一度、ヘルプで確認をしたほうがよいですね。

PublishObjects.Add(SourceType, FileName, Sheet, Source, HtmlType, DivID, Title)

'サンプル出力

Sub OutHtml()
Const MYTITLE As String = "test0001_29648"
Dim myPath As String
Dim ShName As String

myPath = ThisWorkbook.Path & "\" 'パス名
ShName = ActiveSheet.Name 'シート名
With ActiveWorkbook.PublishObjects.Add( _
       SourceType:=xlSourceSheet, _
       Filename:=myPath & MYTITLE, _
       Sheet:=ShName, _
       HtmlType:=xlHtmlStatic, _
       DivID:=MYTITLE)
  .Publish True
  .AutoRepublish = False
End With

End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!