【HTML+CSS】はてなブログでhtmlタグ使えるのか その2

Hatena Blogにコードを書いたとき、

背景色をつけられるかのテスト。

 

<pre style="background:色コード; color:色コード;"><code>
data A2;
  set A1;
run;
</code></pre>


背景:青、文字:白
style="background: #0000ff; color: #ffffff; font-size: 80%;"

data A2;
  set A1;
run;

背景:薄緑、文字:濃い緑
style="background: #CCFFCC; color: #003300; font-size: 80%;"

data A2;
  set A1;
run;

背景:水色、文字:濃い青
style="background: #EEFFFF; color: #000055; font-size: 80%;"

data A2;
  set A1;
run;

 

ということで、うまくいきそうです。

【Python】PDFのパスワード解除(pikepdfライブラリ)

PDFのパスワード、アクロバットリーダーでは解除できなくて困ったのですが、

Pythonのpikepdfで簡単に解除できるようなのでメモ。

from pikepdf import Pdf
mypdf = Pdf.open('パス/ファイル名.pdf', password='パスワード')
outPDF = Pdf.new()
outPDF.pages.extend(myPDF1.pages)
outPDF.save('output.pdf')

 という感じですごく簡単。

パスワード解除したファイル同士もoutPDF.pages.extend()を重ねることで結合できます。

from pikepdf import Pdf
mypdf1 = Pdf.open('パス/ファイル名.pdf', password='パスワード')
mypdf2 = Pdf.open('パス/ファイル名.pdf', password='パスワード')

outPDF = Pdf.new()
outPDF.pages.extend(myPDF1.pages)
outPDF.pages.extend(myPDF2.pages)
outPDF.save('output.pdf')

 

参考


pikepdf Documentation — pikepdf 2.2.0 documentation

※pikepdf.Pdf.open()のNoteにある通り、いろんな暗号化アルゴリズムに対応してるみたい。

【HTML+CSS】はてなブログでhtmlタグ使えるのか

Hatena BlogはHTML編集モードで直接HTMLをいじくれるようです。

ということでテストです(個人用)。

  • テーブル
<table>
  <tr>
<th>タイトル1</th>
<th>タイトル2</th> </tr> <tr> <td>あ</td>
<td>い</td> </tr> <tr> <td>う</td>
<td>え</td> </tr> </table>
タイトル1 タイトル2
  • hrタグ

<hr/>


  •  codeタグ&preタグ

<pre><code> proc sql noprint; count(*) into :cnt from ads; quit; </code></pre>

proc sql noprint;
  count(*) as cnt from ads;
quit;

ということで、うまくいきそうです!

【VBA】Excelの文字切れ対策

Excelの文字切れ対策。

以下、簡易な方法。万能ではないが。


①一度MSゴシックにしてフォントサイズでかくする 。
②オートフィットしてから行幅を1.2倍(任意)する。(+15など行幅を足しても良い)
③任意のフォントに戻す。


Sub 文字切れ対策()
    Dim baseFontName As String, baseFontSize, i, maxrow, newrowheight As Integer
    
    '設定フォント
    baseFontName = "Arial" '-- 任意です。対象シートで使用しているフォント。
    baseFontSize = 9 '-- 任意です。対象シートで使用しているフォントサイズ。
    
    Cells.Select
    Cells.Font.Name = "MSゴシック" '--遊ゴシックあればそっちの方が良いかも。
    Cells.Font.Size = baseFontSize + 1
    
    maxrow = 100 '--最大行数入れてください。
    Rows.AutoFit
    For i = 1 To maxrow
newrowheight = Int(Rows(i).RowHeight * 1.2) '--更新する行幅。1.2倍にしてるけど。+15とかでもよい。 If newrowheight > 405 Then '-- 行幅の限界を超えないかチェック。実際409くらいが限界のようだが405にしている。 Rows(i).RowHeight = 405 Else Rows(i).RowHeight = newrowheight End If Next i Cells.Font.Name = baseFontName Cells.Font.Size = baseFontSize End Sub

というやり方。

いったんMS〇〇にするのがポイント。

(最近登場した游ゴシックの方が文字がデカそうなので、游ゴシックの方が良いかも)

 

そして、オートフィットした後に1.2倍(任意)にいじくることで、フォントを戻しても行幅を保つ。

セル結合があるとオートフィットがうまくいかないときがあるのでそこは注意。

 

後は行幅の最大の考慮でif文を入れてる。

【VBA】Excelの全シート、A1セルをアクティブにしたい!

成果物はA1セルをアクティブにするご作法。
作業中ではないですよ。の無言の表現。

forループを使ったシンプルな対処法です。
シート数 to 1(-1ずつ)で1シートずつA1セルをアクティブにしましょう。

ここで注意なのがwindowの固定。
A1セルをselectしただけではだめです。Scrollの設定もしましょう。

Sub A1セルに配置()
  Dim wb1 As Workbook, i As Long
  Set wb1 = ThisWorkbook
  
  For i = Sheets.Count To 1 Step by - 1
    Sheets(i).Select
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
    Cells(1, 1).Select
  Next i
  
  Set wb1 = Nothing
End Sub

(こんなお作法、Excelの標準機能にしたほうが良くないか)

【VBA】シート名一覧を取得する

アクティブなシートにシート名一覧を作成。

セル(2,2)から順々にシート名入れていく。


Sub シート名一覧化()
  Dim wb1 As Workbook, ws1 As Worksheet, i, cnt As Long
  Set wb1 = ThisWorkbook
  Set ws1 = wb1.Worksheets(ActiveSheet.Name)
 
  cnt = 2
  For i = 1 To Sheets.Count
    ws1.Cells(cnt, 2) = Sheets(i).Name
    cnt = cnt + 1
  Next i

  Set wb1 = Nothing
  Set ws1 = Nothing
End Sub

任意のシートに出力したければ

  Set ws1 = wb1.Worksheets("任意のシート名")

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。