全7件 (7件中 1-7件目)
1

エクセルブックから画像を取り出しExcel2007以降のブック(拡張子が xlsx)では、ファイル形式が xml 形式でzip圧縮されたものになっています。例えば aaa.xlsx の 拡張子を zip にして(aaa.zip) 解凍(展開)すれば│ [Content_Types].xml├─docProps│ app.xml│ core.xml├─xl│ │ styles.xml│ │ workbook.xml│ ├─drawings│ │ │ drawing1.xml│ │ │ │ │ └─_rels│ │ drawing1.xml.rels│ ├─media│ │ image1.JPG│ │ image2.JPG│ │ image3.JPG│ │ image4.jpg│ ├─theme│ │ theme1.xml│ ├─worksheets│ │ │ sheet1.xml│ │ └─_rels│ │ sheet1.xml.rels│ └─_rels│ workbook.xml.rels└─_rels .relsのように解凍されます。この media フォルダに画像ファイルが保管されています。従って、VBAで拡張子・解凍してmedia フォルダ内のファイルを取り出すことができます。ここをクリックするとソースが表示されます。なお、zip解凍には参照設定が必用になります。ここをクリックすると参照設定の方法が表示されます。ダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_8501.zip zipファイルの中身は下記のようになっています。 8501_画像取り出し.bas 本体のソース 2300_ZIP操作.BAS 本体で使用している解凍操作のソース TestMain.BAS テスト用のメイン Test8501.xlsm モジュールを組み込んだブック サンプル_画像有り.xlsx 参考:テスト用データ データがなければご使用下さい解凍後、Test8501.xlsm を起動し、B4にテスト用ブックのフルパスを設定して下さい 例)D:\TEST\TESTDATA.xlsxB6にテスト用出力フォルダを設定して下さい 例) D:\TEST\結果\テスト用データで実行した場合は指定したテスト用出力フォルダに下記のように複写されます。
2022/07/01
コメント(0)

ひな形ブックから作成指定ブックのデータでブックを複製する方法例えば、月毎の勤怠を各個人にブックで渡し、各個人で入力してもらいたいのでテンプレートとして作成したブックを複数社員に各個人名で複製したい場合等に便利です。ひな形とするブックを作成ブックの指定列にある文字で組み立てたブック名で複写します。シート名や一部文字列の置換も行います。ここをクリックするとソースが表示されます。ダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_8670.zip zipファイルの中身は下記のようになっています。 8670_シートの複製.bas 本体のソース TestMain.BAS テスト用のメイン Test8670.xlsm モジュールを組み込んだブック 複製見本.xlsx 参考:テスト用ひな形ブック データがなければご使用下さい 複製指定見本.xlsx 参考:テスト用作成指定ブック データがなければご使用下さい解凍後、Test8670.xlsm を起動し、B4にテスト用ひな形ブックのフルパスを設定して下さい 例)D:\TEST\TESTDATA.xlsxB6にテスト用作成指定ブックのフルパスを指定して下さい 例)D:\TEST\TESTSITE.xlsxB8にテスト用のデータベールのフルパスを指定して下さい 例)D:\TEST\結果テスト用メインでは''***CALL intSiteCol = 3 intTLsu = 1 strOutName = "月次_" Call SP_8670ShtDup(strHinaPATH, strSitePATH, intSiteCol, intTLsu, strOutPath, strOutName)としていますので、テスト用データで実行した場合は下記のようになります。
2022/06/24
コメント(0)

エクセルブックのシートをブックに分割エクセルブックのシートをブックに分割 ブックにシートでそれぞれ年月別に見積もりデータを入れたが、やっぱりブック別にしたい。そんな時にブックをシート毎に分割して複数の新たなブック(ブック名+シート名)を作成するモジュールです。ここをクリックするとソースが表示されます。ダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_8660.zip zipファイルの中身は下記のようになっています。 8660_エクセルブックのシートをブックに分割.BAS 本体のソース TestMain.BAS テスト用のメイン Test8660.xlsm モジュールを組み込んだブック 並替データa.xlsx 参考:テスト用データ データがなければご使用下さい解凍後、Test8660.xlsm を起動し、B4にテスト用ブックのフルパスを設定して下さい 例)D:\TEST\TESTDATA.xlsxB6にテスト用出力フォルダを設定して下さい 例) D:\TEST\結果\テスト用データで実行した場合は下記のようになります。
2022/06/22
コメント(0)

エクセルブックから指定シートを Accesへ変換する方法エクセルブックのシートをAccessデータベースへインポートするモジュールです。ここをクリックするとソースが表示されます。ExcelではVlookUp等で検索等が行えますが、時には Accessデータベースにした方が便利な場合もあります。Excel シートのデータをAccessデータベースに変換するモジュールです。ここをクリックするとソースが表示されます。Set objAccess = CreateObject("Access.Application")objAccess.OpenCurrentDatabase strMdbPathでAccess を準備し 下記の DoCmd を使用します。objAccess.DoCmd.TransferSpreadsheet 0, , strSheet, strGibNam, bolTopTitle, strSheet & "!"※参照設定が不要なように0等の即値を使用しています。参照設定なさる方は下記リンクから定数を調べて設定して下さい。https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd.transferspreadsheetダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_7010.zip zipファイルの中身は下記のようになっています。 7010_データベースへインポート.bas 本体のソース TestMain.BAS テスト用のメイン Test7010.xlsm モジュールを組み込んだブック お客様マスタ.xlsx 参考:テスト用データ データがなければご使用下さい解凍後、Test7010.xlsm を起動し、B4にテスト用ブックのフルパスを設定して下さい 例)D:\TEST\TESTDATA.xlsxB6にテスト用のデータベールのフルパスを指定して下さい 例) D:\TEST\Database1.accdbテスト用メインでは''***CALL strSheet = "M1お客様マスタ" '==対象のシート名 例) お客様マスタ bolTopTitle = True '==TRUE(先頭行をフィールド名として扱う) FALSE;先頭行はフィールド名ではない strNewAdd = "NEW" '=="NEW":新しいテーブルとして(既存データがあれば消される) "NEW"以外はテーブルにデータが既にあればデータ追加となる Call SP_7010_XLS2MDB(strGibNam, strMdbPath, strSheet, bolTopTitle, strNewAdd) としていますので、テスト用データで実行した場合は下記のようになります。
2022/06/22
コメント(0)

ブックにシート一覧を作成する方法ブックにシート一覧を作成するモジュールです。ここをクリックするとソースが表示されます。シート名の取得は、strShtName(intShtName_Su) = obj対象ブック.Worksheets(intLoop).Nameで行いobj対象ブック.Worksheets("シート一覧").Range(strRange).Hyperlinks.Add Anchor:=obj対象ブック.Worksheets("シート一覧").Range(strRange), Address:=strAddress, SubAddress:=strSubAddress, TextToDisplay:=strDisplayのHyperlinks.Addで行っています。Hyperlinks.Addの詳細はここをクリックダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。ZIP_8600.zip zipファイルの中身は下記のようになっています。 8600_シート一覧作成.bas 本体のソース TestMain.BAS テスト用のメイン Test8600.xlsm モジュールを組み込んだブック 並替データa.xlsx 参考:テスト用データ データがなければご使用下さい解凍後、Test8600.xlsm を起動し、 B4にテスト用ブックのフルパスを設定して下さい例) D:\TEST\TESTDATA.xlsxテスト用データで実行した場合は下記のようになります。
2022/06/18
コメント(0)

シートをシート名でSortする方法シートをシート名でSortするモジュールです。ここをクリックするとソースが表示されます。シート名の並び替えは Call SP_OZSORT_1NOMI(strShtName(), intShtName_Su)で行い、ソートされた順で Move していますobj対象ブック.Sheets(strTNam).Move BEFORE:=obj対象ブック.Sheets(1)ダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_8530.zip zipファイルの中身は下記のようになっています。8530_シートをSort.basTestMain.BASTest8530.xlsm並替データa.xlsx本体のソーステスト用のメインモジュールを組み込んだブック参考:テスト用データ データがなければご使用下さい 解凍後、Test8530.xlsm を起動し、B4にテスト用ブックのフルパスを設定して下さい 例) D:\TEST\TESTDATA.xlsx テスト用データで実行した場合は下記のようになります。
2022/06/17
コメント(0)

シートに画像を挿入する方法シートに画像を挿入するモジュールです。ここをクリックするとソースが表示されます。Shapes.AddPicture部分が画像を挿入する部分です。この部分の詳細なパラメータは下記をご覧下さいhttps://docs.microsoft.com/ja-jp/office/vba/api/excel.shapes.addpicture'***挿入 sngTop = obj作成シート.Range(strA1).Top sngLEFT = obj作成シート.Range(strA1).Left Set objShape = obj作成シート.Shapes.AddPicture(FileName:=strGazouFullPath, LinkToFile:=False, SaveWithDocument:=True, Left:=sngLEFT, Top:=sngTop, Width:=0#, Height:=0#)ダウンロードここをクリックするとソーズをまとめたファイルをダウンロードできます。 ZIP_8500.zip zipファイルの中身は下記のようになっています。8500_画像を挿入.basTestMain.BASTest8500.xlsmお客様マスタ.xlsx商品1.jpg 本体のソーステスト用のメインモジュールを組み込んだブック参考:テスト用データ データがなければご使用下さい参考:テスト用データ データがなければご使用下さい 解凍後、Test8500.xlsm を起動し、B4にテスト用ブックのフルパスを設定して下さい 例) D:\TEST\TESTDATA.xlsxB6にテスト用の画像ファイルのフルパスを指定して下さい B6にテスト用の画像ファイルのフルパスを指定して下さい テスト用メインでは,'***CALL strA1 = "B2" '==画像を貼り付けるセル 例) "H10" strName = "画像の名前" '==貼り付けた画像につける名前 ""なら名前は付けない sngWidth = 80 '==横幅 縦は自動計算し行高さを調整している ここが0ならstrA1の巾に Call SP_8500GazPast(obj作成シート, strGazouFullPath, strA1, strName, sngWidth) '==エクセルシートに画像を貼り付ける としていますので、テスト用データで実行した場合は下記のようになります。
2022/06/14
コメント(0)
全7件 (7件中 1-7件目)
1