次の方法で共有

ExcelのPDF保存で改行記号?が入る

Anonymous
2011-03-28T11:55:34+00:00

初めて投稿させていただきます。

Win7上のExcel2007,2010で、VBAのユーザーフォームのテキストボックスから文章を書き込んで、

PDFにする書類をつくっています。

テキストボックスは複数行を可能にして、Enterでの改行を出来るようにしているくらいです。

セルに直接打ち込んだ文章は問題ないのですが、テキストボックスから書き込んだ文章の箇所で問題があります。

シートをPDFに保存すると、全角文字で改行しているところは問題ないんですが、

半角英数字で改行されたところに「□」が入ります、改行で行を開けたところにも「□」が入ります。

印刷はなんの問題もありません。

イメージはこんな感じです↓

--------------------

あいう

123□

abc□

あいう

--------------------

半角英数字の後に全角のスペースを入れると、「□」が入らなくなるので、

とりあえずそれで対処していますが、最終的に今作っているブックは数か所に配布してかなりの人数が使うので、

なんとか解決策を探しています。

どなたかお分かりになる方いらっしゃませんか?

よろしくお願いします。

ちなみに、XP上のExcel2007ではもっとひどく、全角半角関係なくすべての改行箇所にこちらは「・」が入ります。

こちらはもはや論外です。。。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

  1. Anonymous
    2011-03-28T15:11:19+00:00

    こんばんは。

    VBAのコードやどのようにPDF化しているのかが分からないので何とも言えないのですが、

    セルに直接入力した場合は問題ないのであれば、下記コードのように改行をvbLfに

    置換してみてはいかがでしょうか。

    Sheet1.Range("A1").Value = Replace(Me.TextBox1.Text, vbCrLf, vbLf)

    20+ 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-04-06T07:02:26+00:00

    きぬあさ さん、アドバイスありがとうございます。

    Kmayuzumi さん、こんにちは。

    きぬあさ さんからいただいたアドバイスが参考になったようですね。

    同じような問題でお悩みの方にも、こちらをご参考いただければと思い今回は私の方で \[回答としてマーク\] をさせていただきました。

    Kmayuzumi さんの方でも参考になったと思ったら、次回は [回答としてマーク] をつけてみてくださいね。

    今後も Answers をよろしくお願いします。

    0 件のコメント コメントはありません
  2. Anonymous
    2011-03-29T02:33:38+00:00

    早々の返信ありがとうございます。

    ちょっと、テストしましたが見事に解決しそうです。

    自分が書いているユーザーフォームのコードは、以下の感じです。

    Private Sub UserForm_Initialize()

    With TextBox1

    .MultiLine = True

    .EnterKeyBehavior = True

    .IMEMode = fmIMEModeOn

    .SetFocus

    End With

    TextBox1.Value = ActiveCell.Value

    End Sub

    Private Sub CommandButton1_Click()

    ’ActiveCell.Value = TextBox1.Value

    ActiveCell.Value = Replace(Me.TextBox1.Text, vbCrLf, vbLf)

    Unload Me

    ActiveCell.Offset(rowoffset:=0, columnoffset:=1).Select

    End Sub

    PDF化は、Excelが持っているPDF保存をそのまま利用して以下のように書いています。

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

    buf & "" & fname, Quality:=xlQualityStandard, _

    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    改行コードに問題があるとは思っていましたが、こんな方法で改行コードを置換できるとは初めて知りました。

    自分はVBA初心者で、今回かなり頑張って作りましたが、このPDFの問題だけは分かりませんでした。

    かなりの数のテキストボックスがあるので、これから頑張って編集していきたいと思います。

    ほんとうにありがとうございました。

    0 件のコメント コメントはありません