PlusOne Blog

2021年2月に投稿した記事

【HTML,CSS】transform3d について

前回、webページに動きを与えるものとして animation, transform を紹介しましたが、
今回は、transform を3Dで操作できる、transform3D を紹介します。
 
transform3D を利用することで GPUアクセラレーション を使用することになりパフォーマンスが向上します。
GPUアクセラレーションを使用することで、アニメーション処理をソフト(ブラウザ)が行うのではなく、ハード(グラフィックボード)が行うから滑らかな動きが実現します。

 
下の iframe では見つらいので、こちらからどうぞ
別ページで開きます。
 

 

この記事を読む

【WordPress】投稿ページの作成・編集画面のラベルの変更

投稿ページの作成・編集画面の「新規投稿を追加」などのラベルを変更するとき、カスタム投稿の場合にうまく変更できなかったので、そのときの対応の備忘録
 

投稿ページの作成・編集画面のラベルを変更する

functions.php に下記を追加します。

 add_filter('post_type_labels_post', 'custom_post_labels' );
 function custom_post_labels( $labels ) {
	$labels->name = 'お知らせ'; // 投稿
	$labels->singular_name = 'お知らせ'; // 投稿
	$labels->add_new = '新規追加'; // 新規追加
	$labels->add_new_item = 'お知らせを追加'; // 新規投稿を追加
	$labels->edit_item = '投稿の編集'; // 投稿の編集
	$labels->new_item = '新規お知らせ'; // 新規投稿
	$labels->view_item = 'お知らせを表示'; // 投稿を表示
	$labels->search_items = 'お知らせを検索'; // 投稿を検索
	$labels->not_found = 'お知らせが見つかりませんでした。'; // 投稿が見つかりませんでした。
	$labels->not_found_in_trash = 'ゴミ箱内にお知らせが見つかりませんでした。'; // ゴミ箱内に投稿が見つかりませんでした。
	$labels->parent_item_colon = ''; // (なし)
	$labels->all_items = 'お知らせ一覧'; // 投稿一覧
	$labels->archives = 'お知らせアーカイブ'; // 投稿アーカイブ
	$labels->insert_into_item = 'お知らせに挿入'; // 投稿に挿入
	$labels->uploaded_to_this_item = 'このお知らせへのアップロード'; // この投稿へのアップロード
	$labels->featured_image = 'アイキャッチ画像'; // アイキャッチ画像
	$labels->set_featured_image = 'アイキャッチ画像を設定'; // アイキャッチ画像を設定
	$labels->remove_featured_image = 'アイキャッチ画像を削除'; // アイキャッチ画像を削除
	$labels->use_featured_image = 'アイキャッチ画像として使用'; // アイキャッチ画像として使用
	$labels->filter_items_list = 'お知らせリストの絞り込み'; // 投稿リストの絞り込み
	$labels->items_list_navigation = 'お知らせリストナビゲーション'; // 投稿リストナビゲーション
	$labels->items_list = 'お知らせリスト'; // 投稿リスト
	$labels->menu_name = 'お知らせ'; // 投稿
	$labels->name_admin_bar = 'お知らせ'; // 投稿
	return $labels;
 }

しかし、これではカスタム投稿などを作成したときの投稿ページの作成・編集画面のラベルは変更されません。(デフォルトの画面のみ変更されます)
カスタム投稿などの画面を変更する場合は、次のように「post_type_labels_post」の「post」の箇所を適用したい post_type名に変更すればOK
 
例)post_type が’joboffer’ の場合

 add_filter('post_type_labels_joboffer', 'custom_post_labels' );

 

 

この記事を読む

【VBA】ユーザーフォームにボタンなどのコントロールを配置するとき

ユーザーフォームにボタンなどのコントロールを配置する方法の備忘録です。
(前回紹介した、「【VBA】VBAでエクセル外のオブジェクトを使うとき」に関連した内容になりますので、そちらの投稿も参考にしてください。)
 

ユーザーフォームにボタンなどのコントロールを配置する方法

ユーザーフォームにボタンなどのコントロールを配置する場合は、object.Add を使用します。

 Dim ctrl As Control
 Set Set Ctrl = object.Add(class [, Name [, Visible ]] )

 
class は、配置するコントロールに割り振られた class を指定します。Name には、コントロールに振り分ける名前を指定します。
具体的には、次のように記述します。

 Dim ctrl As Control
 Set ctrl = CreateObject("Forms.CommandButton.1" , "btn_01")

 
ProgID(プログラムID)の例を次にあげておきます。

 Set ctrl = Controls.Add("BARCODE.BarCodeCtrl.1")
 Set ctrl = Controls.Add("RefEdit.Ctrl")
 Set ctrl = Controls.Add("Forms.CheckBox.1") 'チェックボックス
 Set ctrl = Controls.Add("Forms.ComboBox.1") 'コンボボックス
 Set ctrl = Controls.Add("Forms.CommandButton.1") 'コマンドボタン
 Set ctrl = Controls.Add("Forms.Image.1") 'イメージ
 Set ctrl = Controls.Add("Forms.Label.1") 'ラベル
 Set ctrl = Controls.Add("Forms.ListBox.1") 'リストボックス
 Set ctrl = Controls.Add("Forms.MultiPage.1") 'マルチページ
 Set ctrl = Controls.Add("Forms.OptionButton.1") 'オプションボタン
 Set ctrl = Controls.Add("Forms.ScrollBar.1") 'スクロールバー
 Set ctrl = Controls.Add("Forms.SpinButton.1") 'スピンボタン
 Set ctrl = Controls.Add("Forms.TabStrip.1") 'タブストリップ
 Set ctrl = Controls.Add("Forms.TextBox.1") 'テキストボックス
 Set ctrl = Controls.Add("Forms.ToggleButton.1") 'トグルボタン
 Set ctrl = Controls.Add("MSComctlLib.ListViewCtrl")
 Set ctrl = Controls.Add("MSComctlLib.TreeCtrl")
 Set ctrl = Controls.Add("InkEd.InkEdit.1")
 Set ctrl = Controls.Add("MSInkaut.InkPicture.1")
 Set ctrl = Controls.Add("WMPlayer.OCX.7")

 
ワークシート上に設置する場合は、OLEObjects.Add を使用します。

 ActiveWorkbook.Worksheets("Sheet1").OLEObjects.Add ClassType:="Word.Document"

 

 

この記事を読む

【VBA】VBAでエクセル外のオブジェクトを使うとき

VBAでエクセル外のオブジェクトを使うときには、
参照設定でバインドする方法以外に、実行時にバインディングする方法があります。
その方法についての備忘録
 
参照設定でバインドする方法だと、エクセルのバージョンなどにより、参照するDictionaryのバージョンが異なります。このため、自分のPCでは参照できるが、他の人のPCでは参照できずエラーが出てしまうケースが発生してしまいます。
一方、実行時にバインディングする方法ではオブジェクトを直接バインドするため、こういったエラーは発生しません。
 

実行時にバインディングする方法

オブジェクトを作成する場合は、CreateObject を使用します。

 Dim obj As Object
 Set obj = CreateObject(class)

 
class は、appname.objecttype の形式で指定します。具体的には、次のように記述します。

 Dim obj As Object
 Set obj = CreateObject("ADODB.Connection")

 
ProgID(プログラムID)の例を次にあげておきます。

 Set obj = CreateObject("BARCODE.BarCodeCtrl.1")
 Set obj = CreateObject("Access.Application")
 Set obj = CreateObject("ADODB.Connection")
 Set obj = CreateObject("ADODB.Recordset")
 Set obj = CreateObject("ADODB.Stream")
 Set obj = CreateObject("DAO.DBEngine.120")
 Set obj = CreateObject("Excel.Application")
 Set obj = CreateObject("RefEdit.Ctrl")
 Set obj = CreateObject("Outlook.Application")
 Set obj = CreateObject("PowerPoint.Application")
 Set obj = CreateObject("Word.Application")
 Set obj = CreateObject("Word.Document")
 Set obj = CreateObject("htmlfile")
 Set obj = CreateObject("InternetExplorer.Application")
 Set obj = CreateObject("Microsoft.XMLDom")
 Set obj = CreateObject("Microsoft.XMLHTTP")
 Set obj = CreateObject("MSXML2.DOMDocument")
 Set obj = CreateObject("MSXML2.XMLHTTP")
 Set obj = CreateObject("Forms.CheckBox.1")
 Set obj = CreateObject("Forms.ComboBox.1")
 Set obj = CreateObject("Forms.CommandButton.1")
 Set obj = CreateObject("Forms.Image.1")
 Set obj = CreateObject("Forms.Label.1")
 Set obj = CreateObject("Forms.ListBox.1")
 Set obj = CreateObject("Forms.MultiPage.1")
 Set obj = CreateObject("Forms.OptionButton.1")
 Set obj = CreateObject("Forms.ScrollBar.1")
 Set obj = CreateObject("Forms.SpinButton.1")
 Set obj = CreateObject("Forms.TabStrip.1")
 Set obj = CreateObject("Forms.TextBox.1")
 Set obj = CreateObject("Forms.ToggleButton.1")
 Set obj = CreateObject("MSComctlLib.ListViewCtrl")
 Set obj = CreateObject("MSComctlLib.TreeCtrl")
 Set obj = CreateObject("Scriptlet.TypeLib")
 Set obj = CreateObject("CDO.Message")
 Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
 Set obj = CreateObject("InkEd.InkEdit.1")
 Set obj = CreateObject("Scripting.Dictionary")
 Set obj = CreateObject("Scripting.FileSystemObject")
 Set obj = CreateObject("Shell.Application")
 Set obj = CreateObject("MSInkaut.InkPicture.1")
 Set obj = CreateObject("VBScript.RegExp")
 Set obj = CreateObject("Wia.ImageFile")
 Set obj = CreateObject("WbemScripting.SWbemLocator")
 Set obj = CreateObject("WScript.Shell")
 Set obj = CreateObject("WScript.Network")
 Set obj = CreateObject("new:{6BF52A52-394A-11d3-B153-00C04F79FAA6}")

 

 

この記事を読む

【VBA】曜日を取得する

VBAで、特定の日付の曜日を取得する方法についての備忘録
日付関数 Weekday と、WeekdayName の2つがあり、それらについて紹介。

 

Weekday

 
Weekday 関数は、特定の日付の曜日を示す整数値を返す関数です。
 

 Weekday(曜日をしらべたい日付)

 
曜日をしらべたい日付には、”2021/2/2”のような文字列も可能です。
週の第1日目の曜日を示す値またはクラス名
・0:vbUseSystemDayOfWeek(PCのOSのシステム時間)

・1:vbSunday (日曜日)
・2:vbMonday (月曜日)
・3:vbTuesday (火曜日)
・4:vbWednesday (水曜日)
・5:vbThursday (木曜日)
・6:vbFriday (金曜日)
・7:vbSaturday (土曜日)
 
例)

 MsgBox Weekday("2021/2/2")

 
カレンダー通り、2(=火曜日)が表示されます。
 

WeekdayName

 
Weekday 関数では、曜日を表す数字が返ってくるだけなので、何曜日なのか分かりません。
そこで、WeekdayName 関数で、何曜日というテキストを返します。
 

 WeekdayName(Weekday関数で求めた曜日を表す数字, 「曜日」を省略するかどうか, )

 
例) 「曜日」を省略しない場合

 MsgBox WeekdayName(Weekday("2021/2/2"),false)

 
「火曜日」が表示されます。
 
例) 「曜日」を省略する場合

 MsgBox WeekdayName(Weekday("2021/2/2"),true)

 
「曜日」が省略され、「火」が表示されます。

 

 

この記事を読む

【HTML,CSS】transform について

前回、webページに動きを与えるものとして animation を紹介しましたが、
今回は、同様にwebページに動きを与えるものとして、transform を紹介します。
下記リンクから、ご覧ください。
 
下の iframe では見つらいので、こちらからどうぞ
別ページで開きます。
 

 

この記事を読む
記事一覧に戻る