抱き枕的な何かが家に来た話
ゆうべはお楽しみでした、そう書こうとしていた時期が私にも
そもそも今年初めての記事がこれって…
よくわかりませんがDAKIMAKURAerという悪の組織の陰謀により抱き枕とかいうアイテムが家に追加されました。あと1年くらいいらなかった
本体だけ来たせいでまったく使ってませんでしたが、昨日無地のカバーーーさんが来たのでようやく使えるようになったのでいったんまとめとこうという感じの記事
れぶゅー? 読書感想文が「面白かったを水増しするだけの不毛な文章」とか言い出すからやめよう
ことの発端
どこだろ、よく覚えてない
少なくともこの辺
偶然にも抱き枕本体の値段を調べていたふぁぼツバメは…
— 幻想ツバメ (@f_swallow) May 9, 2015
@f_swallow ほしい物リストに入れて?
— ろまのふ (@kamiya344) May 9, 2015
このあたりから気を抜いたら食われる状況だった気がしますね
なんとか回避しようとしていましたが、途中から手元に用意して投げようという手段を使うと言われてしまったので、さすがにこんなことで他人に手間かけさせるくらいならということでほしいものリストを作って投げる結果に
@kamiya344 一応質問なのですが、冗談ではなく本気で抱き枕を送りつけたいと思っていて、そのことでそちらに大きな不便を強いることがなくて、ドブにお金を飛ばしたのとほぼ同等になると思うのですが、これを踏まえた上で送るという場合は欲しいものリスト作って投げますがどうしますか
— 幻想ツバメ (@f_swallow) December 19, 2015
こうやって聞いたんですけどねぇ…… まあ大体これじゃ意味ないことわかってましたけど…
ちなみに私のほしいものリストは住所を入れてないです。なんでかって飛んできても困るし…親関門で引っかかっても面倒だし…石臼も土も塩も飛んでこないし…
それはそのままにしたいので新しく作って投げました。抱き枕としか書いてなかったので適当に入れておきました
今朝の状態です。あとはお察し
ということでひとまずルータケーキさんの陰謀により抱き枕が到来しました
ただまあ私はカバーを持っていないので15日ほど放置されることに
むじのかばーが来たぞ!!
というのが昨日
ん? 冬コミでカバーを買えって?? そんな金はない
そもそもそれがつけれるなら某マップ特典があるし…触った感じ微妙だったけど
たぶんこれが来ました
Amazon.co.jp | 抱き枕無地カバー DKM100 ベージュ | ホビー 通販
触った感じはトートバッグとかあの辺の感触かなーとおもいました。丈夫そうでいいですね
その後人間としてのスキルが足りなかった影響により50分ほど抱き枕カバーをつけれなくて泣いてました
最終的に「靴下の要領」というのを参考にとりあえず押し込みました。まあ無地だしいいよね…
そしていざ寝ようと思ったそのとき!気が付きます!
狭い!!!!!
やっぱり3分の1占めるのはさすがに狭い…
あと特に抱き枕によって睡眠の質が上がった記憶もなければ、そもそもそんな習慣もないので抱き枕を抱いてた記憶もないです。やはり私には抱き枕は10年早かったんだ…
いやまあ柔らかくて素敵なんですけどね、私には早かったようです
というわけでよくわからない記事でした
まずベッドのサイズを確認してから買いましょう
あと大体寝ようと思うと5分くらいで寝てるのでどうしようこれ感が加速する
一週間後にはまともな使い方を見出したい
この辺で
2015年も終わりそうなので振り返り
ああ、あとスクショのファイル名が15で始まるのも5日なのですね…早いものです
若干早いですがどうせ残りは寝てゲームしてゲームしてかわいい女の子見てゲームして寝る生活なのでさっさとやりましょう
今年の抱負なんだっけと思ったら何もなかった
去年の私、さすが私だ。ぐっじょぶだ
宣言してもどうせ達成しないとわかっていたらしく今年の目標も何もなかったようです。やったぜ
はい!反省会終了!はい!!
ぷよぐらみんぐ
当社比2.5倍プログラミングしなかった気がする
まあ何も作ってないしなぁ。作りたいのはあるけど、モチベーションがない
Tumblrのあれは頑張った気もする。そろそろ新機能つけて先に進みたい
ついつたー
全然してなかったと思ったら去年と同じくらいだった
そういや先日人生で初めて知らない人から贈りものがくる経験をしました。当分使えないので横で寝ていますが物がもらえるのはうれしいですね。何も返せないのであんまりもらいたくないのもありますが
そさげ
チェンクロっていうゲームをしていましたが膝にレイドを受けてしまってな…
度重なるイベントに心が折れました。まあ1年くらいやってたしまあ
…というよりは3つやってると寝れないんですよ
私は眠くなったら寝るんですけどそさげのために11時に寝ようと思って10時半からそさげ初めて11時半に寝るとかやってたので完全に私何やってるんだろうなーっていう
ほか二つは超適当にやると一瞬でスタミナ尽きるのでいいんですけどとにかく減らなくてつらかった
特にレイド、ソウル消費が半端なくだるかった
とかありまして現在はぱどどらとゴ魔乙だけです
ぱどどらはガチャゲーと同じようなダンジョン攻略しかしてなくて最近微妙感
ゴ魔乙は個人的には楽しいかなーと思います
まあ最近難易度上がったりなんなりで厳しいのですが、レアリティで殴るじゃないのが本当にありがたいです
最高レアリティとかまあ見ないしランキング見なかったら☆4で十分っていう
いやほら、たいていのゲームってレアリティ低かったら倉庫番じゃないですか
まあ本当に低いと運用つらいですけどゴ魔乙の場合レアリティが魔力とHPにしか関わらない(※)ので頑張れば☆1,2でもクリアが狙えるという仕組みはいいなーと
(ショットの威力が一定なのでプレイヤーの実力さえあればレアリティ低くてもいける。ただし一部ショットは高レアリティのみなので何ともいえない)
キャラのイラストは好みだけどステータス低いし連れていけないみたいなのは実力でカバーできるのはいいです。ええ
というかガチャ引いてなくて☆3しかいないとか普通にありますからね!問題ないですね!
まいくら、戦車
Minecraftはなんか線路引いたり線路引いたりマップ広げたりしてました
ゆうほどやってないです
最近World of tanksを始めました。ぶっちゃけ戦車よくわかりません。Centurionを目指してイギリスLTルートを進めてますがCrusaderで何すればいいのかわからなくてつらい
クレジットが10万くらいになってたのでChurchill IIIとExcelsiorで貯めたい
個人的にはChurchill IIIよりもExcelsiorのほうが扱いやすいかなーと思いつつもどっちにしろ雑魚すぎて爆散してます。はい。精進します…
PC
が変わりました
前はVaioのオーナーメイドであるVPCS12のやつでなかなかよかったのですが、冷却が完全にできてないので新しくなりました
15万くらいのPCで選んだ結果富士通のSH/90になりました
一時期メモリ不足で「高級フォトビューアー(2560x1440)」とかなってましたが1週間でメモリをポチって対応しました
(メモリ4GBのPCを買うと無限にあおられて(検閲により削除)って感じになるので注意しましょう)
来世は石油王の友人がポンと金を出してくれる人生でお願いします
とりあえずそんな感じで変えたわけですが
・ディスプレイタッチできるってすごい
・ディスプレイ綺麗
・最近のIntel HD Graphicsって結構無茶できるんだな
という感想です
おひす
念願の2016が出ましたね。最初期待外れ感が否めませんでしたが、Morphとか来たし来年はレガシーーーPowerPointを煽るべくMorphを使ってどや顔していきたいと思います
いやほんと、Morphすごいのでぜひ使ってほしい。ので早く出てほしい……
Power Query?ウッ!
あとはまあExcelのForecast Sheetが面白かったくらいかなぁ
ほかはうーーん、Tell Meは機能名を思い出すのが面倒
説明にいちいちリボンのどことか指定しなくていいのはいいんですけどねー
来年の目標
なし!
去年もなかったし!!!
というのはさておき、なんとなく3Dモデリングとかちょっとくらいできるようになりたいなーとか思ったり
ほら、なんとかなんとかダンスとか見てると面白そうとか思うじゃないですか
デスクトップの壁紙の変更は避けられなかった
ちなみに実際は
・ふぁぼツバメ、ラボ畜になる
・内定ください御社様!
・ふぁぼツバメ、卒論に屠られる
の3本立てとなっています。楽しみですね。あぁぁぁぁあーーーー
就活ってなんだろう、もう疲れたよぱt…
反省会どころか何を書いてるのかよくわかりませんが今年一年の感想でした
来年はもっと楽しくないのでしょう。うわああああ
とりあえず残りの日はWoT楽しんで逆三角行って満喫したい
この辺で
#めとべや でPowerPointのMorphについてLTしました
LT(Long Talk)
というわけでOffice Insider向けに提供されてるNovember Updateの新機能の一つであるMorphについてお話ししました。
公開用スライドにはMorphは適用されていません。なぜかって? これはMorphだからこそ面白い、価値があると思うからであり、ない環境で見てもふーん?で終わってしまいます
そういえばMorphがない環境という件については@kurosawa0626 さんのご協力のもと確認したのですが
・Office 2013 → フェードアニメーションになる
・Office Online → フェードアニメーションになる
・SlideShare → そもそもアニメーションなんてなかった
という状況でした。対応できるのOffice Onlineくらいじゃないかなーって思ったけどそもそも対応できるのかこれとは思ったり
(たぶん遷移アニメーションの種類しか持っていないと思われる。そのためクライアント側でアニメーションを実行する必要がある、つまりアニメーションの計算とかを実現する必要がうわああああ)
…はい、PowerPointのサードアプリケーションとか絶対作りたくないなって思う瞬間でした
ところで私はPowerPointの表示言語を英語にしてるのですが、その理由は"変形"とかいうのが気に食わないからですね
Morphは日本語だと"変形"になります。Tell Meもそうですけど日本語にすると残念感漂うのは何なんだ… せめてモーフにしてくれ…
あといつごろみんな使えるようになるの?って聞かれましたがいまいちわかりません。December中だとは思っていたんですけど来週出る…とは考えにくいしやっぱり来年かなぁと
Outlookが事故ってる様子なのでその辺の対応でもう少しかかるんじゃないでしょうか(中の人じゃないし知らない。そもそもInsider向けにあと何回来るかも知らない)
以下感想文です
べや、今回は最初から10分と言っていたので10分しゃべるつもりで作ってたら不幸な事故が起こりました。はい
まあ私も5分に対応できるスライドを用意すべきだったと思います。とはいえなんとか3分に圧縮できたのでまあいいでしょう
そのあと懇親会で30分くらいしゃべってきました。デモがなかなか受けたかなと思えたのでMorphさんやっぱり素敵です
というかこの素材でウケないわけがないと思っていたので誰か一人でも興味を持っていただければ嬉しい限り
開発者の人のプレゼンテーションってどっちかっていうとアニメーションが少なめなのでMorphをどうアピールするかは悩みでした
(アニメーションとか凝ったことするのめんどくさいのもあるし、アニメーションに目立たれると困ることが多いと思う)
で、まあそれでも使い道はあると思うんですけど一番使ってもらえそうなフェーズはやはり「ここにクソコードがあります。しかし今やこうやって書けるのです!」って言ってコードのBefore AfterをMorphで表現するやり方かなぁと思ったりしました
どんなことしたかっていうと次のコードを
private Dictionary<int, string> _hogeDictionary = new Dictionary<int, string>(); public Dictionary<int, string> HogeDictionary { get { return _hogeDictionary; } }
こう書けるんですよ!って
public Dictionary<int, string> HogeDictionary { get; } = new Dictionary<int, string> ();
まあ中身はなんてことないコードですけど。これをMorphでやると一気にコード量が減ることを表せますし何より派手
EffectをWordsでやれば元のコードをどう書き換えてるのか、とかもわかってさらに素敵だと思います。
あとあれですね、セッションが双方向でしゃべりながらやれると楽しいですね。何が聞きたいかとかわかるのと質問も答えやすいですし
とはいえ結構難しいかなぁ…
というわけで楽しいセッションができて満足でしたという話です
LTは踏み台となったのだ
とにかくMorphです。Office 2016はMorphこそ救世主なのです
むしろこれがないとOffice 2016って何があるのレベル…とまではいいませんけど「あるとこうするとき便利だけどなくても困らない」みたいな新機能しかないので、単独で強い新機能があるとやっぱりお勧めしやすい
この辺で
PowerPoint Designerがお仕事するようになってた (ver16.0.6366.2036)
本日のあどべんとかれんだーはお休みします。探さないでください
Office Insider向けだと思いますが更新が5日前にきてて、16.0.6366.2036になってます
http://answers.microsoft.com/en-us/office/forum/office_insider-registration/announcement-office-insider-build-16063662036-now/c8c96a28-6461-43cb-9fe9-a829c5b64f92
フォーラムでのアナウンス
どうもOffice Insiderはフォーラム見とけということのようです。追うのめんどくさい…ただでさえ見てないのに…しかもRSS追えないし…
変更点よくわかってませんがDesignerが明らかに変わってる気がするので見ておきます
前回あの使えないゴミとまで評価してましたが動いてるのできっと安心!
Designerを試してみよう!
とりあえず前回の起動直後うんぬんはなくなりました! Generatingでフリーズもなくなった気がします。やったね!これで使えるよ!
(機能の評価以前に実行できるできないレベルの話だった)
今回のアップデートでなんと!"Title and Content"のスライドにもDesignerが適用できるようになります!!
…1個増えただけ………
Title and Contentってどれ?ってあの上にタイトルがあって下に内容が書ける標準的スライドです
つまりタイトル書いてそのあとEnterでべちべちスライド足してるだけなら問題なくDesignerが適用できるわけですね
他のスライドレイアウトだと使える…んですかね。全部は試してなくて"Section Header"と"Two Content"と"Blank"と画像がおけるやつは試したんですけどこの辺はダメでした。何かあったら教えてください
Designerはどうも縦長画像と横長画像で挙動が違うようなので4パターンのDesignerの候補を見ていきましょう
(ちゃんと見てないので縦長と横長のパターンしかないとは限りません。大体似たようなものになると思いますがご了承ください)
タイトルスライド
まず横長から
画像はMinecraftで適当に作ったやつなので会社でも安心です
種類自体は変わらず6種類です。一番上はデフォルトなので無視
分離した領域に画像を置くのが1種類、同じ領域に画像を置くのが2種類、タイトルのコンテンツの裏に回るのが2種類ですね。小さいのはそもそも大きさ固定なのでこれ以上大きくできません。頑張ってください
Designerのイメージとしては背景に回るやつがよく出てる気もします。まあそっちのほうがかっこいい気もします
次に縦長。これは前回も見れたけど
縦長は分離2種類、同領域1種、背景色による分離1種類、背景に回るのが1種類ですね。上に移動する種類のがなくなるので横にどう配置するかで選ぶ感じ
裏に回るのもう一種類くらいあっても…とは思わなくもなかったり
あ、ちなみに編集したらその結果が見れるようになってます。ようやく思っていたものが来た
タイトルとコンテンツ
こっちも横長から見ていきましょう
分離2種類、背景色による分離1種類、裏に回るのが2種類ですね
インパクトが強いのは今選択してるやつですかね。画像をスライドの裏に回してスライドの背景を透過させてるようです。Designerでセンスなくてもかっこよくできると思ったらデザインセンスを問われる瞬間が来た
縦長はこんな感じ。ちょっとミスってDesignerで選択後にDesigner開いてるので上のデフォルトが下の候補と同じになってしまってます
一番上は無視します。同領域1、タイトルオブジェクトの下に収まるのが2種類、背景色による分離が1、分離した領域にあるのが1種類ですね
タイトルのしたに収まってくれるやつがTwo Contentを使わなくてもよくなったりで便利かなーとは思います。まあ左にしか置けませんけど
というわけでDesignerを使ってみた記事でした
そもそも私画像をスライドに入れてる記憶がないのがDesignerに魅力を感じなかったりする理由なのですが、それなりに頑張るようになりましたね
あとは種類が増えればだいぶいい感じなんじゃないでしょうか
最近戦車道を始めた結果何もしなくなっています。やばい
この辺で
TumblrLikesSaving ver1.24
バグ出すぎ……
というわけで1.23とかいうやつがバグの塊だったので修正したりしたやつにしました
1.23はひどいバージョンでしたが24はきっとやってくれるでしょう
1.23とかいうのは忘れてください。起動時バージョンチェックで22のままだったので誰も見てないでしょうが
ダウンロードは https://dl.dropboxusercontent.com/u/12260653/TumblrLikeSaving-1-24.zip からどうぞ
変更点は次の通り
・リブログ情報を取得して保存できるようにした
(・取得処理の終了条件を変更。取得済み領域のループをなるべく行わないようにした。)
(・過去の設定ファイルが一切ない状態で起動すると起動できないのを修正)
(・認証なしで取得の設定ダイアログを開いて閉じると落ちるのを修正)
(・リトライのエンドポイントが間違っていたのを修正)
(・IDの取得済みフラグが2回目以降の取得が行われないと書き換わらないのを修正)
・取得済みIDの保存数を750→2000に、URLの保存数も2倍にした
()の変更は1.23で発生したバグその他の修正です
リブログ情報というよりも自分のブログから画像を取得できるようにしました
ウィンドウの左下に「Reblogデータの取得設定」とかいうボタンが生えてるのでそこから取得するように切り替えてください
ちなみに自分のブログ以外も追加して取得できます。適当にお使いください
追加する場合はドメイン部分だけを入力します(http://hogehoge.tumblr.com/とかあったらhogehoge.tumblr.comです。カスタムドメインは注意)
(自分のブログが複数ある場合注意してください。私はミスってどうでもいい画像が大量に降ってきました…)
1.23のバグについては申し訳ないというしかないのでスキップ
特に起動不能バグがあるのは見落としてた… 全パターン試さなかったんだよなぁ…
リブログ取るのにIDが今まで通りだと少ないかなって思ったので保存数を2000にしました。極端すぎる
URL保持数も普通に保存する場合は300→600に。ハッシュ値で保存する場合は600→1500です
設定ファイルの容量が結構増えると思います。100KBはいかないと信じたい
ちなみに、強制的に最大数取得するを押してもブログのポストは拾ってきません。仕様です
追加時に最大数取ると思いますし回数が増えすぎるので
あと重複するとLogのタグが消えないのはバグです。はい。次回直るでしょう…
ということでリブログまで対応しました
あとは簡易Like選択機能とか欲しい
この辺で
今更だけどVSTOアドインを作ってみよう
この記事は Office アドイン Advent Calendar 2015 - Adventar の7日目を埋めるための記事です
特に埋める気はないので24個登録とかはしていません
1日目で頓挫すればみんな埋めることを気にしなくて済む(意味不明)
まあそんなこんなですが、Morphやばい!って言いまくってたらネタがないです。なのでVSTOでアドインでも作っておきましょう
初心者なので初心者らしくスライドをコピーして後ろにペーストするアドインを作ります
Morphでコピペするのが面倒ですからね
というわけで早速作りましょう
ソリューションを作ろう
Visual Studioを立ち上げます。プロジェクトの新規作成で好きな言語(VB/C#)の中にあるOffice/SharePointからPowerPoint向けのアドインが作れそうなのを選んで作成しましょう
こんな感じ
ん? Excelじゃないかって? 違うんや…これは重大な事故だったんや…オブジェクトブラウザ開いてSlideがなくて気が付いた…
とりあえず作ったら進みましょう
リボンを追加しよう
ボタンが欲しいのでリボンを追加しましょう
新しい項目の追加から「リボン (ビジュアルなデザイナー)」を選んで追加します
今回はやる気が足りないのでそのままTabAddinsのGroup1のまま行きましょう
位置を指定する場合はOffice Fluent User Interface Control Identifiersっていう資料を読みましょう
Download Office 2013 Help Files: Office Fluent User Interface Control Identifiers from Official Microsoft Download Center
2013向けは上のリンクから。2016向けはまだないです。BeforeとAfterが指定できるのでおそらく困ることはないはず
とりあえず作り終えた結果がこれ
芸術的やる気のなさを感じますね
追加したボタンをダブルクリックしてイベントハンドラを追加しときます。そこまでやったらいったんThisAddinに戻りましょう
スライドのコピペをするコードを書く
ボタンを押した処理を書こうにもコピペする処理が必要ですね
しかしOffice開発なんかしたこともないしコピペするコードなんて思いつきません。どうしましょう
まあ2択ですが
・ヘルプめっちゃ見る
・ググる
があります。まあどっちにしろググるのですが上は「関数の詳細を見る」で下は「キーワードからコードのサンプルを探す」みたいなイメージで行きます
今回は上で行きます。キーワードがわからないのでオブジェクトブラウザを見ましょう
目的は「スライドのコピー」なのでSlideとかPresentationとかのオブジェクトにCopyとかPasteみたいなのがあるか探します
すると"SlideClass.Copy()"っていう関数が見つかります。しかしSlideClass.Pasteがありません。ぐぬぬ
Pasteがなくて使い方がよくわからないので"PowerPoint.Slide.Copy MSDN"とか入れてぐぐーる先生に聞きましょう
すると次のページが一番上に来ます
Slide.Duplicate Method (PowerPoint)
Summaryが"Creates a duplicate of the specified Slide object, adds the new slide to the Slides collection immediately after the slide specified originally, and then returns a Slide object that represents the duplicate slide."となっています
めっちゃ簡単に書くと「そのスライドの複製を一つ後ろに作るよ」って書いてあります
さすがぐぐーる先生、ほしい関数を一発で持ってきてくれる
もう一つ必要なことがあります。現在のスライドの位置を取得するコードがわかりません
これはさすがにオブジェクトブラウザであたりをつけるのが難しいのでキーワードで検索してみましょう
"PowerPoint active slide index"とかでググると2番目に次のようなページが出てきます
PowerPoint VBA: Getting an Active Slide Number | Beyond VBA Tutorial
さすがVBA、ググれば何でも出てくる
Selectionを使ってもにょもにょするといいと学んだのでようやくC#のコードを書きます
ThisAddinに次のコードを追加します
internal static void CurrentSlideDuplicate() { var idx = Globals.ThisAddIn.Application.ActiveWindow.Selection.SlideRange.SlideIndex; Globals.ThisAddIn.Application.ActivePresentation.Slides[idx].Duplicate(); }
VSTOではGlobalsというクラスが利用できます。こいつなしではApplicationへの参照をStartUpで取得するみたいなクソコードが生まれるので素晴らしいクラスです
GlobalsからApplicationを参照する場合ThisAddin.Applicationで行きます
これで現在のスライドの複製ができるはずです。ボタンのクリック時の動作も追加します
private void button1_Click(object sender, RibbonControlEventArgs e) { ThisAddIn.CurrentSlideDuplicate(); }
こっちは呼ぶだけですね
ここまでやったらデバッグしてみましょう
この状態でボタンを押すと
ちゃんと複製されていますね
ちなみにさっきのコードだと複製先のスライドが選択されません。なのでThisAddinのコードを書き換えて選択するようにしましょう。
internal static void CurrentSlideDuplicate() { internal static void CurrentSlideDuplicate() { var idx = Globals.ThisAddIn.Application.ActiveWindow.Selection.SlideRange.SlideInde // Globals.ThisAddIn.Application.ActivePresentation.Slides[idx].Duplicate(); var sld = Globals.ThisAddIn.Application.ActivePresentation.Slides[idx].Duplicate(); sld.Select(); }
Duplicateの返り値は複製したスライドなので、そのスライドをSelectすればフォーカスしてくれます。Office界ではFocusするときはSelectって書いとけばいいです
ここで終わると面白くないのでもうちょっと頑張ります
Morphアニメーションを複製したスライドに追加する
というわけでコピペしたスライドにMorphのアニメーションが適用済みだとさらにうれしいですよね。ぜひ追加しましょう
MorphのアニメーションがPpEntryEffect.ppEffectMorphBy{Hoge}であることはすでに周知の事実ですので(ググっても公式すら出ないけど)
・PpEntryEffectのスライドへの適用方法
・ppEffectMorphByObjectの値を調べる
ことが必要となります
まずはPpEntryEffectのほうから調べましょう。このとき最初のPpはPowerPointの略であり、列挙子の名前の接頭辞として使われています。しかし列挙子の接頭辞はプロパティなどでは外れます。Office開発では重要な知識ですね
今回であれば、PpEntryEffectを調べる場合EntryEffectという名前のプロパティを探す必要があります。列挙子のプロパティは基本このパターンなので安心してください
EntryEffectで調べると"SlideShowTransition.EntryEffect"と"AnimationSettings.EntryEffect"が出てきます。Morphは遷移アニメーションなのでとりあえずSlideShowTransitionのほうを見ましょう
MSDNの記事はこちら
SlideShowTransition.EntryEffect プロパティ (PowerPoint)
…見ましたか? 見てしまいましたか? これがOffice開発だ!
何がすごいってこれ注釈以下がAnimationSettingsの内容なんですよ。だからTextLevelEffectとかいうプロパティは左にないし、Animatedプロパティをtrueにする必要もありません
とりあえずOffice開発はクソと言いながらSlideShowTransitionであることを覚えておきます。次にppEffectMorphByObjectの値を調べます
というのもVSTOで2016向けアドインは作れないのです。どういう意味かって? オブジェクトブラウザなりで出るデータは2013時点のものってことですよ
(まあそもそもOffice Insider向けでしか出てないバージョンなので2016向けに作れてもあるとは思えませんが)
何にせよないのです。調べます
PowerPointを開いてAlt+F11→F2って押すと偶然にもVBA版オブジェクトブラウザが出てきます。ここでppEffectMorphByObjectで検索した結果がこれ
値が3954であることがわかります。これを使って書きましょう
上のコードに書き足すとこんな感じ
internal static void CurrentSlideDuplicate() { var idx = Globals.ThisAddIn.Application.ActiveWindow.Selection.SlideRange.SlideIndex; // Globals.ThisAddIn.Application.ActivePresentation.Slides[idx].Duplicate(); var sld = Globals.ThisAddIn.Application.ActivePresentation.Slides[idx].Duplicate(); sld.Select(); if (powerPointBuild >= 6366 && powerpointVersion.CompareTo(powerpoint16Version) >= 0) { sld.SlideShowTransition.EntryEffect = (PowerPoint.PpEntryEffect)3954; } }
Slide.SlideShowTransition.EntryEffectに3954をPpEntryEffectにキャストしたものを突っ込みます。当然ですがインテリセンスも聞かないのでppEffectMorphだとか書いても動きません
また、これを実行する際にバージョンを厳密にしないと危険なのでifでくくっています。プロパティ周りはStartUpで設定してます。こんなコード
private static Version powerpointVersion { get; set; } private static readonly Version powerpoint16Version = new Version("16.0"); private static int powerPointBuild { get; set; } private void ThisAddIn_Startup(object sender, System.EventArgs e) { powerpointVersion = new Version(Application.Version); powerPointBuild = int.Parse(Application.Build); }
Application.Versionが"16.0"とか"15.0"みたいにメジャーバージョンとマイナーバージョンしかくれないのでこんな感じに。ビルド番号はApplication.Buildで取得。stringなので要変換
あとはcompareToしたりして"16.0.6366"よりあとだったら実行しよう、ということをしています
これで実行するとちゃんと複製後のスライドにMorphのアニメーションが追加されます。やったね!スライド作成がはかどるよ!
ということで今回は完成ということにしときます。プロパティ一切いじってないけどまあ書くことでもないし…
コンテキストメニューにしたい!っていう話は来週しましょう
来週は何もなければCustomTaskPaneについて調べたいという願望だけあります。何もしてません
戦車道にはまってなければきっと大丈夫…
この辺で
TumblrLikesSaving ver1.23
やっと…やっと起動できるレベルになった…
というわけで11月中に出せなかったTumblrの画像を保存するやつ、ver1.23です
テストをしてないのとほぼ全作り直しなので謎挙動を起こす可能性があります。とりあえず動いたしいいよね(
人柱になりたいとか、とりあえずアップデートしたい方は次のリンクから
https://dl.dropboxusercontent.com/u/12260653/TumblrLikeSaving-1-23.zip
バグが多すぎて使えないです。1.24以降を使ってください
変更点は
・開発言語をC#に切り替えた
・設定ファイルのフォルダを変更
・設定ファイルの形式を変更した。これによりv1.22以前の設定と互換性がなくなります。(前のバージョンの設定は削除しません)
・WriteLogのフォーマットを変更。タグを除去するようにした
・IDの保持方式を変更した
・強制的にLikeを最大数取得する際のスキップ数が正しくなかったのを修正
・その他細かい修正、変更
今までVBでもぞもぞと書いてましたが、作り直したくなったののついでに言語もC#に切り替えました
どっちでもいいのですが最近はC#ばかりでVBがこれでしか触ってなかったので、まあはい
設定ファイルは%APPDATA%\f_s_apps\TumblrLikesSaving から %APPDATA%\artfulplace.net\TumblrLikesSaving に動きました
消すときはその辺もご注意いただければと
設定ファイルの位置をずらすとともにファイル形式も切り替えました
形式が違うだけで内容は一緒になってます。設定ファイルの形式がクソすぎて今後辛すぎたのです…
ver2.x系にするときに引き継げるのはver1.23以降になります。なのでどっかでアップデートしてください、はい
ちなみに前の設定ファイルで正当なバージョンならすべて1.23では引き継げます。たぶん
あと前のファイルを消すことはないので読み込めなくても安心です
WriteLogについてはキャプションをそのまま放り込んでましたけどタグが邪魔なので消すようにしてみました
若干見やすいはず
IDの保持方式はリバースしてソートしてたのでソートを外しました
ソートすると確実に時系列順じゃなくなるのでその辺考慮です。完全に保証されるわけではありませんが
あと取得済みのIDについての挙動を変更しました。このため1.23以降で起動すると初回は最大まで取得されます。仕様です
メモ:Likeを削除するオプションを有効にすると確実におかしくなると思います。オプションを外すかLikeをすべて消すかで頑張ってください
1.22でつけた最大取得時のスキップ数についてなんとなく計算が怪しい気がしたので直しました
普通に動いてたならいいのですが
他は直した気もするけどもう覚えてないという状況
ソース管理をしない人間の末路だ…
以上です
まともにテストしてないのでまた使ってて気になることがあったら直していきます
いい加減リブログ周りつけたいなぁ…
この辺で