Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Excel VBA】シートをPDF形式で保存する方法


Excel VBAでのシートのPDF保存はそう頻繁にやるものではないのでいざやろうとするとどうするんだったかなとなってしまいがちです。

 

そのようなこともあり、ここにPDF保存する方法の主なものを備忘録として書き残しておきたいと思います。

 

 

 

目次

 

 

1.特定の1枚のシートを1つのファイルに保存する方法

 

まずはじめに、特定の1枚のシートをPDF出力する方法です。

 

以下のコードにて、同じフォルダ内に「pdfsave1.pdf」ファイルを作成して「Sheet1」シートをPDF形式で保存します。

 

Sub pdfsave1()
    Dim path As String
    path = ThisWorkbook.path & "\pdfsave1.pdf"
    Worksheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=path, OpenAfterPublish:=True
End Sub

 

 

2.すべてのシートを1つのファイルに保存する方法

 

次に、Excelファイル内のすべてのシートを1つのPDFファイルに出力する方法です。

 

以下のコードにて、同じフォルダ内に「pdfsave2.pdf」ファイルを作成してすべてのシートをPDF形式で保存します。

 

Sub pdfsave2()
    Dim path As String
    path = ThisWorkbook.Path & "\pdfsave2.pdf"
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path
End Sub

 

 

3.すべてのシートを別々のファイルに保存する方法

 

続いて、すべてのシートを別々のPDFファイルに出力する方法です。

 

以下のコードにて、同じフォルダ内にそれぞれのシートの名前と同じファイル名のファイルを作成してすべてのシートをPDF形式で保存します。

 

Sub pdfsave3()
    Dim sht As Worksheet
    Dim path As String
    For Each sht In Worksheets
        path = ThisWorkbook.path & "\" & sht.Name & ".pdf"
        sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path
    Next
End Sub

 

 

4.指定した複数のシートを別々のファイルに保存する方法

 

最後に、指定した複数のシートを別々のファイルにPDF出力する方法です。

 

以下のコードにて、同じフォルダ内に通し番号をファイル名にした「1.pdf」と「2.pdf」というシート名のファイルを作成してそれぞれ「Sheet1」と「Sheet2」のシートをPDF形式で保存します。

 

Sub pdfsave4()
    Dim sht As Worksheet
    Dim path As String
Dim n As Long
    n = 0 For Each sht In Worksheets(Array("Sheet1", "Sheet2")) n = n + 1 path = ThisWorkbook.path & "\" & n & ".pdf" sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=path Next End Sub

 

 

以上がExcelのシートをPDF保存する主な方法です。

 

 

 

 

関連記事:

【Excel VBA 文字列変換】大文字小文字変換方法、全角半角変換方法 - Django Girls and Boys 備忘録

 

【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】罫線の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】塗りつぶし(背景色)の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】シートをPDF形式で保存する方法 - Django Girls and Boys 備忘録

 

【Excel VBA】プルダウンリスト(ドロップダウンリスト)作成方法とセル表示形式(R1C1形式)でエラーになった時の対処方法 - Django Girls and Boys 備忘録

 

【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録

 

【Excel VBA】セル参照形式をVBAから変更する方法(A1形式、R1C1形式) - Django Girls and Boys 備忘録

 

【Excel VBA】改行コード(CR、LF、CRLF)の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ソースコードの改行方法 - Django Girls and Boys 備忘録

 

【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録

 

【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録

 

【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録

 

【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録

 

 

 

【Python】CSVファイルからのデータの読み込み方法


Pythonでいろいろと作成している時に扱っているデータをどこかから読み込みたい、どこかに取っておきたいとかデータを受け渡したいような場合が発生します。

そのような場合の1つの方法としてCSVファイルからのデータの読み込みや書き込みがあります。

 

今回はその中のCSVファイルからの読み込み方法の説明をしていきたいと思います。

 

 

 

目次

 

 

CSVファイルからデータを読み込む場合にはcsv.readerクラスを使用します。

 

 

1.CSVファイルからの読み込み方法1

 

まずはじめにですが、リスト形式としてデータを読み込む場合を考えます。

 

たとえば、同じフォルダ内のtest.csvファイルにカンマ区切りの、

「 h1,h2,h3

     aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii」

のようなデータが入ったファイルがある場合を考えます。

 

この場合にcsv.readerを使用して以下のように記載すると、

 

import csv

# csvモジュールを使ってCSVファイルから1行ずつ読み込む
with open('test.csv', encoding='utf8', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

 

print文にて印字される結果は以下のようになります。

 

['h1', 'h2', 'h3']
['aaa', 'bbb', 'ccc']
['ddd', 'eee', 'fff']
['ggg', 'hhh', 'iii']

 

ファイルオープンの行でtest.csvを指定した形式で開いてfとしています。

そのfをcsv.readerに渡して読み込んでreaderという名前をつけています。

最後にfor文にてreaderの中身が1行づつ各行の値を要素とするリスト形式にて順次返されて印字されます。

 

 

2.CSVファイルからの読み込み方法2

 

ちなみにもう1つ、参考用で別のコードとして以下のように単にテキストファイルとして読み込むと、

 

# csvモジュールを使ってCSVファイルから1行ずつ読み込む
import csv

with open('test.csv') as f:
    print(f.read())

 

結果は以下のようになります。

 

h1,h2,h3
aaa,bbb,ccc
ddd,eee,fff
ggg,hhh,iii

 

 

3.区切り文字の変更

 

CSVファイルからデータを読み込む時のデータを分割する区切り文字についてですが、

デフォルトはカンマとなっています。

 

カンマ区切りのファイルを読み込む時は特に何も指定はいりませんが、読み込む元ファイルがスペース区切りやタブ区切りだった場合には、区切り文字の指定を変えてやらなければなりません。

その場合には、delimiter=''で指定します。

 

読み込む元ファイルがタブ区切りのファイルの場合には、以下のように区切り文字の指定を、delimiter='\t 'とするとタブごとにデータが区切られて取り出されます。

 

import csv

# タブ区切りの文字を読み込む with open('test.csv', encoding='utf8', newline='') as f: reader = csv.reader(f, delimiter='\t') for row in reader: print(row)

 

同様に、読み込む元ファイルがスペース区切りのファイルの場合には、以下のように区切り文字の指定を、delimiter='\t 'からdelimiter=' 'に変更するとスペースごとにデータが区切られて取り出されます。

 

 

import csv

# スペース区切りの文字を読み込む with open('test.csv', encoding='utf8', newline='') as f: reader = csv.reader(f, delimiter=' ') for row in reader: print(row)

 

 

4.辞書型のデータとして読み込む方法

 

これまで使用したcsv.readerの場合には、各行をリスト形式に読み込みましたが、csv.DictReaderを使用すると、各行を辞書型で読み込めます。

 

たとえば、同じフォルダ内のtest.csvファイルにカンマ区切りの、

「 h1,h2,h3

     aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii」

のようなデータが入ったファイルがある場合を考えます。

 

この場合にcsv.DictReaderを使用して以下のように記載すると、

 

import csv

# CSVファイルから読み込んで辞書形式のデータを作成
with open('test.csv', encoding='utf8', newline='') as f:
    reader = csv.DictReader(f)
    content = [row for row in reader]

print(content)

 

結果は以下のような内容になります。

 

元ファイル内の1行目が辞書のキーとして扱われ、それ以降の各行ごとがそれに対する辞書型の値としてデータが取り出されます。

 

[{'h1': 'aaa', 'h2': 'bbb', 'h3': 'ccc'}, {'h1': 'ddd', 'h2': 'eee', 'h3': 'fff'}, {'h1': 'ggg', 'h2': 'hhh', 'h3': 'iii'}]

 

ちなみに、以下のようにprint文で結果contentの0番目を取り出すと、

 

import csv

# CSVファイルから読み込んで辞書形式のデータを作成
with open('test.csv', encoding='utf8', newline='') as f:
    reader = csv.DictReader(f)
    content = [row for row in reader]

print(content[0])

 

印字結果は1行目をキーとして2行目のデータが値として取り出されます。

 

{'h1': 'aaa', 'h2': 'bbb', 'h3': 'ccc'}

 

 

以上、今回はCSVファイルからのデータの読み込み方法についての説明でした。

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】スライスによる範囲指定などスライスの使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiを使用したマウスの操作方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiによるキーボード操作、キー入力方法 - Django Girls and Boys 備忘録

 

【Python】Seleniumで新しいタブを開く方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルからのデータの読み込み方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルへのデータの書き込み方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録

 

 

【Python】CSVファイルへのデータの書き込み方法


Pythonでいろいろと作成している時に扱っているデータをどこかに取っておきたいとかデータを受け渡したいような場合が発生します。

そのような場合の1つの方法としてCSVファイルへの書き込みがあります。

 

今回はそのCSVファイルへの書き込み方法の説明をしていきたいと思います。

 

 

 

目次

 

 

CSVファイルへデータを書き込む場合にはcsv.writerクラスを使用します。

 

 

1.1行分のデータのCSVファイルへの書き込み方法

 

まずはじめにですが、リスト形式の1行分のデータを書き込む場合を考えます。

リスト形式の1行分のデータを書き込む場合には、writerow()メソッドを使用します。引数はリストになります。

 

たとえば、リスト形式のデータ(data)を用意しておいて以下のように記載すると、

 

import csv

# サンプルデータの設定 
data= ['aaa', 'bbb', 'ccc']
# csvモジュールを使って1行の内容をCSVファイルに書き込み with open('test.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerow(data)

 

同じフォルダ内にtest.csvファイルが作成され1行分のリストデータが書き込まれます。

これを以下のような読み込みコードを記載して再度読み戻してみると、

 

with open('test.csv') as f:
    print(f.read())

 

コンソール上には以下のように「 aaa,bbb,ccc」と表示されます。

 

# aaa,bbb,ccc

 

これにて1行分のデータをCSVファイルに書き込み、読み戻してprintできたことになります。

 

2.複数行分のデータのCSVファイルへの書き込み方法

 

次に今度は、複数行分のデータを書き込む場合を考えます。

複数行分のデータを書き込む場合には、writerrows()メソッドを使用します。引数はリストのリストになります。

 

たとえば、リストのリスト形式のデータ(data)を用意しておいて以下のように記載すると、

 

import csv

# サンプルデータの設定 
data1= ['aaa', 'bbb', 'ccc']
data2= ['ddd', 'eee', 'fff']
data3= ['ggg', 'hhh', 'iii']
data= [data1, data2, data3]

# csvモジュールを使って複数行の内容をCSVファイルに書き込み
with open('test.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(data)

 

同じフォルダ内にtest.csvファイルが作成され複数行(3行分)のリストのリスト形式のデータが書き込まれます。

これを前回同様に以下のような読み込みコードを記載して再度読み戻してみると、

 

with open('test.csv') as f:
    print(f.read())

 

コンソール上には以下のように

「 aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii」

と表示されます。

 

# aaa,bbb,ccc
# ddd,eee,fff
# ggg,hhh,iii

 

 

3.CSVファイルへ追記する方法

 

ここまでの2つの方法では、test.csvファイルはその都度上書きされますが、

元々あるファイルに追記したい場合もあると思います。

そのような場合には、ファイルをopenする時に、追記モード'a'で開きます。

 

たとえば、すでに先程のtest.csvがある状態で以下のように追記モード'a'で再度書き込みを実行すると、

 

import csv

# サンプルデータの設定 
data1= ['aaa', 'bbb', 'ccc']
data2= ['ddd', 'eee', 'fff']
data3= ['ggg', 'hhh', 'iii']
data= [data1, data2, data3]

# csvモジュールを使って複数行の内容をCSVファイルに書き込み(追記)
with open('test.csv', 'a', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(data)

 

同じフォルダ内に元々あるtest.csvファイルに再度3行分追記されます。

これをこれまで同様に以下の読み込みコードを記載して再度読み戻してみると、

 

with open('test.csv') as f:
    print(f.read())

 

コンソール上には以下のように

「 aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii

     aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii」

と表示されます。

 

# aaa,bbb,ccc
# ddd,eee,fff
# ggg,hhh,iii
# aaa,bbb,ccc
# ddd,eee,fff
# ggg,hhh,iii

 

 

4.CSVファイルへの書き込みでの区切り文字の変更方法

 

これまでの場合は、ファイル内の区切り文字はデフォルトでカンマでしたが、これを変更する場合には、引数delimiterで指定できます。

たとえば、タブ区切りとしたい場合には、以下のようにdelimiter = '\t'を追加します。

 

import csv

# サンプルデータの設定 
 data1= ['aaa', 'bbb', 'ccc']
data2= ['ddd', 'eee', 'fff']
data3= ['ggg', 'hhh', 'iii']
data= [data1, data2, data3]

# csvモジュールを使って複数行の内容をCSVファイルに書き込み(タブ区切り)
with open('test.csv', 'w', newline='') as f:
    writer = csv.writer(f, delimiter = '\t')
writer.writerows(data)

 

 

 

5.先頭にヘッダーなどを追加する方法

 

最後にもう1つですが、先頭にヘッダーなどを1行追加したい場合ですが、これについてはそのための特別な機能はないため、以下のように単にwriterrow()メソッドを使用して1行書き込みを追加することになります。

 

 

import csv

# サンプルデータの設定 
header= ['h1', 'h2', 'h3']
data1= ['aaa', 'bbb', 'ccc'] data2= ['ddd', 'eee', 'fff'] data3= ['ggg', 'hhh', 'iii'] data= [data1, data2, data3] # csvモジュールを使って複数行の内容をCSVファイルに書き込み with open('test.csv', 'w', newline='') as f: writer = csv.writer(f)
writer.writerow(header) writer.writerows(data)

 

これをこれまで同様に以下の読み込みコードを記載して再度読み戻してみると、

 

with open('test.csv') as f:
    print(f.read())

 

コンソール上には以下のように

「 h1,h2,h3

     aaa,bbb,ccc

     ddd,eee,fff

     ggg,hhh,iii」

と表示されます。

 

# h1,h2,h3
# aaa,bbb,ccc
# ddd,eee,fff
# ggg,hhh,iii

 

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】スライスによる範囲指定などスライスの使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiを使用したマウスの操作方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiによるキーボード操作、キー入力方法 - Django Girls and Boys 備忘録

 

【Python】Seleniumで新しいタブを開く方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルからのデータの読み込み方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルへのデータの書き込み方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録

 

 

 

【Python】おすすめ学習本ランキング8選


Pythonは比較的初心者にも取り組みやすい言語で手軽に実行できるなどはじめてのプログラミング言語としても適した言語だと思います。

 

機械学習人工知能、Webアプリケーション作成など幅広く使われており注目のプログラミング言語でもあるPythonを習得するのにおすすめの本を挙げていきたいと思います。

 

独学で習得するような場合には手元に1冊は置いておいた方がいいと思いますのでここで入門書を中心に8冊紹介していきます。

 

 

 

目次

 

 

1.Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

 

 

 

 

まず1冊目は、「Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ」です。

 

初心者にとって大事なのは、途中で挫折しないということですが、この本はイラストや図がふんだんに使われており対話形式の説明も非常にわかりやすく書かれており、最後までほとんど苦も無く読み進められます。

 

ある程度理解している人には若干物足りなさもあるかもしれませんが、初心者には長々とした説明よりイラストや図で表示された方が直感的に理解しやすいためその点でもおすすめだと思います。

 

サンプルコードなども用意されていて実際に動かして体験しながら学べるため超初心者にとってはおすすめな1冊です。

 

いくつかのアンケート調査でも初心者向けとしては1位にランクされたりしています。

 

 

 

2.スッキリわかるPython入門

 

 

 

 

次は、「スッキリわかるPython入門」です。

 

こちらもイラストや図がふんだんに使われており、初心者がつまずきやすいところやエラー対策などが盛り込まれています。

 

キャラクターの対話形式となっている点が初心者向けとなっており飽きさせない構成でプログラミング初心者が必要な知識を身につけるのに適した1冊となっています。

 

 

3.入門 Python 3 第2版

 

 

 

 

3番目に紹介するのは、「入門 Python 3 第2版」です。

 

有名なオライリージャパンからの入門書ということですが、情報量が多くこれ1冊読むだけでかなりの知識が身につきます。

反面、超初心者が読むには若干厳しいものがあるかもしれないため、他の言語を使った経験者が読むか他に1冊読み込んだ上で読んだ方がいい1冊ではないかと思います。

 

 

4.独習Python

 

 

 

 

4冊目は、「独習Python」です。

初心者向け入門書で定評のある山田祥寛さんが書かれた1冊です。

 

解説、例題、理解度チェックと3ステップで効率的に学びやすくなっています。

基礎的な文法から応用的なモジュールを使った開発まで学べるようになっています。

 

 

5.Pythonスタートブック 増補改訂版

 

 

 

 

5冊目は、「Pythonスタートブック 増補改訂版」です。

 

この本も、初心者、入門者におすすめの入門書です。

基本中の基本からイラスト、図を交えて丁寧に解説されており、初心者がつまずきやすいところも含めてサンプルを使って分かりやすく書かれているためゼロから始める人の最初の1冊としてはおすすめです。

 

 

6.PythonExcel、メール、Webを自動化する本

 

 

 

 

6冊目は、「PythonExcel、メール、Webを自動化する本」です。

 

Pythonでのプログラミングのはじめ方をふくめて、Excel、メールの自動化、効率化まで考えている人にはおすすめです。

 

シートの操作などが数多く掲載されているのでいろいろな処理を早めに作成できそうです。

 

 

7.Pythonプログラミング逆引き大全

 

 

 

 

7冊目は「Pythonプログラミング逆引き大全 」になります。

 

この本は他の本とは異なりやりたい内容から逆引きで実現する方法を調べることができる本です。

 

このような本を1冊手元に持っていると困った時に逆引きで調べることが出来るので非常に便利な1冊になります。

 

8.いちばんやさしいPythonの教本

 

 

 

 

8冊目は「いちばんやさしいPythonの教本」です。

 

この本も初心者向けとなっており、実際に1つ1つ手を動かして作成しながら読み進めていくことが出来るので、一通り作成できたという達成感が得られると共に実践的に学んでいける入門書です。

 

以上がPythonを学んでいく上でのおすすめの8冊になります。

 

 

 

 

 

 

 

 

また、PythonPythonにてSeleniumを活用してスクレイピング、RPA化などを行っていく場合に必要となりそうな内容の記事を一覧として以下にまとめましたのでよかったらご参照ください。

 

 

kuku81kuku81.hatenablog.com

 

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ActionChainsによるキーの同時押し、連続操作などの使用方法 - Django Girls and Boys 備忘録

 

【Python】「文字列として受け取ったリスト」をリストに復元した時の対処方法、変換方法 - Django Girls and Boys 備忘録

 

【Python】ソースコードにコメントをつける方法(コメント化) - Django Girls and Boys 備忘録

 

【PythonでのExcelファイル読み書き方法】ファイルオープンしているファイル(アクティブファイル)への書込方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Webサイトのスクレイピングなどで必要なフレーム間移動方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ブラウザ用ドライバーのダウンロードとインストール方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】selenium、各ブラウザ用ドライバーの最新バージョン確認、ダウンロード場所 - Django Girls and Boys 備忘録

 

【Python Selenium】新規ウインドウ追加時のウインドウ切替方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録

 

【Python Selenium】新規ウインドウ(新規タブ)追加時のウインドウ切替方法(追加ハンドルをハンドル差異比較にて取得) - Django Girls and Boys 備忘録

 

【python】実行時に表示されるコンソールウインドウを非表示にする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Webサイトのソースコードをファイル保存する方法 - Django Girls and Boys 備忘録

 

【Python】キー入力によるプログラム終了処理、ループを抜けて次の処理へ移行する処理 - Django Girls and Boys 備忘録

 

【Python Excel】ExcelからのPython実行ファイル(アプリケーションファイル)起動方法 - Django Girls and Boys 備忘録

 

【Python】ログイン中のユーザ名を取得する方法 - Django Girls and Boys 備忘録

 

【Python Selenium】クローリング、スクレイピングにて対象ウインドウのソースコードを調べる方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウのURLを指定して画面展開する方法と現在表示されているウインドウのURLとタイトルを取得する方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウハンドル取得方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ内の要素取得、キーボード入力などする方法(name属性、id属性、class属性) - Django Girls and Boys 備忘録

 

【Python Selenium 要素取得】ウインドウハンドル取得方法(Chrome用) - Django Girls and Boys 備忘録

 

【Python Selenium 要素取得】ウインドウのURLを指定して画面展開する方法と現在表示されているウインドウのURLとタイトルを取得する方法(Chrome用) - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ内の要素取得、キーボード入力などする方法(name属性、id属性、class属性)(Chrome用) - Django Girls and Boys 備忘録

 

【Python Selenium】f文字列(フォーマット文字列)、r文字列(raw文字列)について - Django Girls and Boys 備忘録

 

【Python】エスケープシーケンス(エスケープ文字)について - Django Girls and Boys 備忘録

 

【Excel VBA】塗りつぶし(背景色)の設定方法


Excel VBAにてデータを出力する際にその周りに罫線を引いたり塗りつぶしたりするような場合がいろいろとあると思います。

 

前回はその中の罫線の引き方を説明しましたので今回は塗りつぶし方法を説明していきたいと思います。

 

 

 

目次

 

1.塗りつぶし方法

 

VBAでセル内の塗りつぶしを行う場合の記載方法としては

 

Range.Interior.プロパティ = 設定値

 

のような形式になります。

 

たとえば、

 

Range("C3:F6").Interior.Color = vbRed

 

とした場合には、以下のようにC3からF6までのセルが赤色で塗りつぶされます。

 

Excel 赤色塗りつぶし描画

Excel 赤色塗りつぶし描画

 

 

2.プロパティの種類

 

記載方法に記載した中の「プロパティ」の内容としては以下のようなものがあります。

 

 

プロパティ 内容
Color RGB値(整数)または色定数
ColorIndex カラーインデックス
Pattern XlPattern (塗りつぶしのパターン)

 

 

また、この中の「色定数」として指定できるものには以下のようなものがあります。

 

 

色定数
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta マゼンタ
vbCyan シアン
vbWhite

 

 

先程と同様ですが、これらの色指定を使用してたとえば、

 

Range("B2:G5").Interior.Color = vbGreen

 

のように記載すると

 

Excel 緑色塗りつぶし描画

Excel 緑色塗りつぶし描画

 

のようにセル範囲内が緑色で塗りつぶされます。

 

また、RGB値指定を使用して。

 

Range("B2:G5").Interior.Color = RGB(0,0,255)

 

とすると、

 

Excel 青色塗りつぶし描画

Excel 青色塗りつぶし描画

 

のように範囲内のセルが青色で塗りつぶされます。

 

 

 

関連記事:

【Excel VBA 文字列変換】大文字小文字変換方法、全角半角変換方法 - Django Girls and Boys 備忘録

 

【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】罫線の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】塗りつぶし(背景色)の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】シートをPDF形式で保存する方法 - Django Girls and Boys 備忘録

 

【Excel VBA】プルダウンリスト(ドロップダウンリスト)作成方法とセル表示形式(R1C1形式)でエラーになった時の対処方法 - Django Girls and Boys 備忘録

 

【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録

 

【Excel VBA】セル参照形式をVBAから変更する方法(A1形式、R1C1形式) - Django Girls and Boys 備忘録

 

【Excel VBA】改行コード(CR、LF、CRLF)の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ソースコードの改行方法 - Django Girls and Boys 備忘録

 

【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録

 

【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録

 

【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録

 

【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録

 

【Excel VBA】罫線の設定方法


Excel VBAにてデータを出力する際にその周りに罫線を引いたり塗りつぶしたりするような場合がいろいろとあると思います。

 

今回はその中の罫線の引き方を説明していきたいと思います。

 

 

 

目次

 

1.罫線の設定方法

 

VBAで罫線を引く場合の記載方法は、

 

Range(セル範囲指定).Borders(罫線指定).プロパティ = 設定値

 

のような形式になります。

 

たとえば、

 

Range("C3").Borders(xlEdgeBottom).LineStyle = xlContinuous

 

とした場合には、C3セルの下線として実線が引かれます。

 

 

2.罫線指定の種類

 

記載方法に記載した中の「罫線指定」の内容としては以下のようなものがあります。

 

設定値 内容
xlEdgeTop セル範囲の上側の罫線
xlEdgeBottom セル範囲の下側の罫線
xlEdgeLeft セル範囲の左端の罫線
xlEdgeRight セル範囲の右端の罫線
xlInsideHorizontal セル範囲のすべてのセルの水平罫線
xlInsideVertical セル範囲のすべてのセルの垂直罫線
xlDiagonalDown セル範囲の各セルの左上隅から右下への罫線
xlDiagonalUp セル範囲の各セルの左下隅から右上への罫線

 

「罫線指定」を省略した場合には、範囲内のすべての線に同じ設定がされます。

 

また、「プロパティ」としては、線種を指定するLineStyle以外に線の太さを指定するWeightや線の色を指定するColorなどがあります。

 

「設定値」についても線種の場合は実線のxlContinuous以外にxlDot(点線)、xlDash(破線)などがあります。

 

これらの「プロパティ」と「設定値」について主なものを一覧にすると以下のようになります。

 

プロパティ 内容 設定値 設定値の内容
LineStyle 罫線の種類 xlContinuous 実線
xlDot 点線
xlDash 破線
xlDashDot 一点鎖線
xlDashDotDot ニ点鎖線
xlDouble 2 本線
xlNone または xlLineStyleNone なし
Color 罫線の色 RGB値(整数)  
Weight 罫線の太さ xlMedium 普通
xlThick 太線
xlThin 細線

 

 

罫線を引く場合には、これらを使用して線種や色、太さの指定を変えながら引いていきます。

 

実際に、1つ1つ地道に設定して、

 

    Range("C3:F6").Borders(xlEdgeLeft).LineStyle = xlContinuous
    Range("C3:F6").Borders(xlEdgeRight).LineStyle = xlContinuous
    Range("C3:F6").Borders(xlEdgeTop).LineStyle = xlContinuous
    Range("C3:F6").Borders(xlEdgeBottom).LineStyle = xlContinuous
    Range("C3:F6").Borders(xlEdgeLeft).Weight = xlThick
    Range("C3:F6").Borders(xlEdgeRight).Weight = xlThick
    Range("C3:F6").Borders(xlEdgeTop).Weight = xlThick
    Range("C3:F6").Borders(xlEdgeBottom).Weight = xlThick
    Range("C3:F6").Borders(xlEdgeLeft).Color = RGB(255, 0, 0)
    Range("C3:F6").Borders(xlEdgeRight).Color = RGB(255, 0, 0)
    Range("C3:F6").Borders(xlEdgeTop).Color = RGB(255, 0, 0)
    Range("C3:F6").Borders(xlEdgeBottom).Color = RGB(255, 0, 0)

 

とすると、

 

Excel 罫線での四角形描画

Excel 罫線での四角形描画

のように範囲内に罫線にて赤枠の四角形が描画されます。

色指定の「RGB(255, 0, 0)」はExcelにて用意されている「vbRed」としても同じ結果になります。

 

もう1つ、Bordersの後のカッコ内を省略して、

 

    Range("C3:F6").Borders.LineStyle = xlContinuous
    Range("C3:F6").Borders.Weight = xlThick
    Range("C3:F6").Borders.Color = RGB(0, 0, 255)

 

とすると、範囲内のすべての線に設定がされますので、

 

Excel 罫線での四角形描画2

Excel 罫線での四角形描画2

 

のように範囲内のすべての上下左右の線に青色の線が引かれます。

 

 

 

関連記事:

【Excel VBA 文字列変換】大文字小文字変換方法、全角半角変換方法 - Django Girls and Boys 備忘録

 

【Excel VBA】文字列比較演算子「like」の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ファイル一覧やファイル有無確認に使われるDir()の使用方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリストの設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】罫線の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】塗りつぶし(背景色)の設定方法 - Django Girls and Boys 備忘録

 

【Excel VBA】シートをPDF形式で保存する方法 - Django Girls and Boys 備忘録

 

【Excel VBA】プルダウンリスト(ドロップダウンリスト)作成方法とセル表示形式(R1C1形式)でエラーになった時の対処方法 - Django Girls and Boys 備忘録

 

【Excel VBA】行の高さの取得、調整、自動調整をする方法 - Django Girls and Boys 備忘録

 

【Excel VBA】セル参照形式をVBAから変更する方法(A1形式、R1C1形式) - Django Girls and Boys 備忘録

 

【Excel VBA】改行コード(CR、LF、CRLF)の使用方法 - Django Girls and Boys 備忘録

 

【Excel VBA】ソースコードの改行方法 - Django Girls and Boys 備忘録

 

【Excel】の「開発」タブを表示させる方法 - Django Girls and Boys 備忘録

 

【Excel】ボタンの表示文字を改行する方法 - Django Girls and Boys 備忘録

 

【Excel】プルダウンリスト 設定方法、元データ追加方法、元データ変更方法 - Django Girls and Boys 備忘録

 

【Excel VBA】結合セルのコピー方法について - Django Girls and Boys 備忘録

 

【Excel VBA】あるシートのセル範囲に変更があった時に処理を実行する方法 - Django Girls and Boys 備忘録

 

 

 

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法



Pythonでのfor文にはいろいろな使い方がありますが、前回の記載にて基本的な使い方というところまでを載せていきましたので今回はそれに入らなかったもの、それ以外のものを載せていきたいと思います。

 

 

 
目次

1.リストのインデックスと要素を取り出したい場合(enumerate()関数)

 
 
リストなどから要素とインデックスの両方を取り出したい場合はenumerate()関数を使用します。
 
通常、enumerate()関数を使用しない以下のような場合には要素のみを取り出します。
 
fruits = ['Orange', 'Grape', 'Apple']

for name in fruits:
print(name)
 
 

結果は、

 

# Orange
# Grape
# Apple
 
のようになります。
 
次に、これにenumerate()関数を使用して以下のようにすると、
 
fruits = ['Orange', 'Grape', 'Apple']

for i, name in enumerate(fruits): print(i, name)
 
結果は、

 

# 0 Orange
# 1 Grape
# 2 Apple
 
のようにインデックスと要素の両方が取り出せます。
 
また、enumerate()関数では2番目の引数に開始値を指定することができます。
たとえば、以下のように指定すると、
 
fruits = ['Orange', 'Grape', 'Apple']

for i, name in enumerate(fruits, 11): print(i, name)
 
結果は、

 

# 11 Orange
# 12 Grape
# 13 Apple
 
のようになります。
インデックスの開始値が11からになっています。
 
 
 

2.リストなどの要素を逆順で要素取得したい場合(reversed()関数)

 
 
リストなどから逆順で要素を取得したいような場合にはreversed()関数を使用します。
たとえば、以下のように指定すると、
 
fruits = ['Orange', 'Grape', 'Apple']

for name in reversed(fruits): print(name)
 
結果は、
 
# Apple
# Grape # Orange
 
のようになります。
 
また、range()関数をreversed()関数の引数にすることで以下のように逆順のforループにすることもできます。
 
 
for i in reversed(range(5)):
    print(i)
 
結果は、
 
# 4
# 3
# 2 # 1 # 0
 
のようになります。
 
 
 

3.辞書型オブジェクトdictをfor文でループ処理する場合

 
 
辞書型オブジェクトdictをfor文でループ処理する場合には、メソッドkeys(), values(), items()を使います。
 
辞書型オブジェクトをそのままfor文で回すと以下のようにキーkeyが取得できます。
 
 
d = {'key1': 1, 'key2': 2, 'key3': 3}

for k in d:
    print(k)
 
結果は、
 
 
# key1
# key2
# key3
 
となります。
 
メソッドkeys()を使用して同様のことを行う場合には、以下のようにします。
 
 
d = {'key1': 1, 'key2': 2, 'key3': 3}

for v in d.keys(): print(v)
 
これによる結果も先程と同様に、
 
 
# key1
# key2 # key3
 
となります。
 
同様に、各要素の値valueに対してforループ処理を行って値を取り出したい場合はvalues()メソッドを使用します。
 
 
d = {'key1': 1, 'key2': 2, 'key3': 3}

for v in d.values(): print(v)
 
これにより、
 
 
# 1
# 2
# 3
 
と値valueが取り出せます。
 
文各要素のキーと値のペアを取り出したい場合には、items()メソッドを使用します。

 

for k, v in d.items():
    print(k, v)

 

 これにより、

 

# key1 1
# key2 2
# key3 3

 

 とキーと値が取り出せます。

 

以上がPythonのfor文についての追加説明になります。
 
 

また、PythonSeleniumの活用に必要となりそうな内容についてこれまで記載してきた記事を一覧として以下にまとめましたのでよかったらご参照ください。

 

kuku81kuku81.hatenablog.com

 

 

 

関連記事:

【Python】おすすめ学習本ランキング8選 - Django Girls and Boys 備忘録

 

【Python】キーボード、キー入力判定方法 - Django Girls and Boys 備忘録

 

【Python】keyboardライブラリでのキー入力検出に使用可能なキーの種類 - Django Girls and Boys 備忘録

 

【Python】Python、Selenium関連情報一覧(ダウンロード、インストール手順、各種やり方、使い方など) - Django Girls and Boys 備忘録

 

【Python Selenium(初心者向け)】PythonのインストールからWebサイトへのアクセスまで含めた簡単なスクレイピングを行うための一通りの手順 - Django Girls and Boys 備忘録

 

【Python】pipのバージョン確認、インストールとアップデート方法 - Django Girls and Boys 備忘録

 

【Python】range、break、continue、スライスによる範囲指定などfor文の基本的な使用方法 - Django Girls and Boys 備忘録

 

【Python】スライスによる範囲指定などスライスの使用方法 - Django Girls and Boys 備忘録

 

【Python】enumerate()関数、reversed()関数を使用したループ処理や辞書型オブジェクトdictのループ処理などのfor文の使用方法 - Django Girls and Boys 備忘録

 

【Python Selenium】各ブラウザ用のドライバーを自動アップデートする方法 - Django Girls and Boys 備忘録

 

【Python Selenium】Pythonで行うproxy環境設定方法 - Django Girls and Boys 備忘録

 

【PythonからWeb操作】seleniumのインストール手順 - Django Girls and Boys 備忘録

 

【PythonによるExcelファイルの読み書き】PythonのダウンロードからExcelファイルの読み書きまでの一通りすべての方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiを使用したマウスの操作方法 - Django Girls and Boys 備忘録

 

【Python】pyautoguiによるキーボード操作、キー入力方法 - Django Girls and Boys 備忘録

 

【Python】Seleniumで新しいタブを開く方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルからのデータの読み込み方法 - Django Girls and Boys 備忘録

 

【Python】CSVファイルへのデータの書き込み方法 - Django Girls and Boys 備忘録

 

【Python Selenium】ウインドウ表示時などでのWaitの方法、待機方法 - Django Girls and Boys 備忘録