空談録

世界で5人くらいに役立ちたい

ストアのPhotoアプリからSwayにアルバムをアップロードできるようになってた

久々にSway見たらどこに向かってるんだこれは…

Office BlogでSwayじゃなくてMicrosoft PhotoのアップデートでSwayが作れるよ!って記事が出てますね
blogs.office.com

Living Imageって何?って思ったらこれっぽいですね
blogs.windows.com
"in the Windows 10-enabled Microsoft Lumia 950 and Microsoft Lumia 950 XL " あっはい…Japaneseには関係ないですね…
興味があったら黒い人のブログに投げてみるとよいでしょう。きっと書いてくれるはずです。たぶん

PhotoアプリからSwayに転送してみよう

とりあえず私のブログではこっちだけ取り上げましょうね

まずはPhotoアプリのアルバムのところから新しいアルバムを作りましょう
f:id:fantasticswallow:20160304195755j:plain

画像の右上のやつですね

アルバムの画像を選択する画面になると思うのでそのまま適当に画像を選択しましょう
選び終わったら右上の✓を押せば選択完了です
f:id:fantasticswallow:20160304200036j:plain

あとはアルバムの名前を入れて保存すれば作成完了ですね(画像どっかいった)

で、完成したアルバムの一番下までスクロールするとこんなボタンが並んでいるので"Swayのストーリーテリング"を押しましょう
f:id:fantasticswallow:20160304200233j:plain

するとSwayへのアップロードが始まります。終わると"今すぐ開く"みたいなリンクとかトーストが焼かれますのでその辺を押すとSwayが開きます
作成されたSwayがこんな感じ
f:id:fantasticswallow:20160304200356j:plain

めんどくさいのでそのままリミックスした結果が次のSwayです

なんでしょう。画像の共有にはすごい便利そうなんですけどSwayってこういう子でしたっけ…?


というわけで私の脳内では画像共有サービスSway爆誕!みたいな感じになりました。
すごい手軽に作れるので撮った画像のギャラリーを作る~みたいなときには0.1秒くらいSwayという選択肢を入れてもいいかもしれません。入れなくていいかもしれません

コメントは入れやすいと思いますけどうーn
そもそもSwayの使い方がよくわからないのでなんともいえない

この辺で

UWPとかでRichTextBlockにリッチなテキストをバインドしたい

Surface RTでも動かしたいからWindows 8.1に対応するんだ!!→いますぐ捨てよう??→ぐわああああっ

というわけで(??)RichTextBlockじゃなくても動くと思うんですけど(挙動に差があるけど)、TextBlockでURLを出したいっていうお話です
自分で解決できなかったのでその辺も含めて書いときます

@okazukiさんと@tmytさんにはこの件について本当にお世話になりました。ありがとうございますありがとうございます

せっせと話を進めていきましょう

RichTextBlockってプロパティ生えてないの?

ないの

RichTextBlock class - Windows app development を見ればわかりますが、RichTextBlockにはTextとかContentみたいなプロパティはいません
ちょっと見てればわかりますが、コンテンツを表示する場所はRichTextBlock.Blocksであることがわかります。しかし! このプロパティはReadOnly! バインドどころかBlockCollectionをコードから突っ込むなんてこともできないわけですね

ついでにBlockCollectionのコンストラクタもないのでどうにかRichTextBlock.Blocks.Addで追加する必要があります。でもバインドはしたい。ぐぬぬ
コードビハインドって言っても、DataTemplate内のRichTextBlockとかだと面倒ですし…

UserControlで対応しよう

というわけでUserControlを作りましょう。こんなやつ

<UserControl
    x:Class="HogeFuga.BindableRichTextBlockControl"
    ...
    >
    
    <Grid>
        <RichTextBlock Name="MainTextBlock" />
    </Grid>
</UserControl>

UserControlでRichTextBlockを囲ってみました!みたいなやつですね
作り方としては、UserControlを追加してRichTextBlockの行だけコピーして貼り付けると完成です。お手軽

で、問題はこの後ですね
今から失敗例を書いていくのでコピペしないでおきましょう

とりあえずBindingしたいしDependancyPropertyを生やすぞ!って言って生やした結果がこれ

public static readonly DependencyProperty ContentParagraphProperty
    = DependencyProperty.Register("ContentParagraph", typeof(Paragraph), typeof(BindableRichTextBlockControl), PropertyMetadata.Create(new Paragraph(), (d, e) => (d as BindableRichTextBlockControl).ContentParagraph = (Paragraph)e.NewValue));

public Paragraph ContentParagraph
{
    get { return (Paragraph)this.GetValue(ContentParagraphProperty); }
    set
    {
        this.SetValue(ContentParagraphProperty, value);
        MainTextBlock.Blocks.Clear();
        if (value != null)
        {
            try
            {
                MainTextBlock.Blocks.Add(value);
            }
            catch (Exception ex)
            {
                // Debug.WriteLine(ex.ToString());
            }
        }
    }
}

どう見てもクソコードです、本当にありがとうございました
そもそもtry~catchで対応してる時点で先行きが怪しすぎる

バインド周りは適当に書いて実行しましょう。たぶんおそらくページやUserControlに1つだけ設置したRichTextBlockだったら動くはずです(試してない)
ただしDataTemplateでListViewとかに使っていると2つの問題が出てきます
・値が全く違う要素の値になってる場合がある
・"element is already the child of another element" って例外が出てくる

どっちにしても問題がありすぎます。というわけで優秀な開発者が集まっていると噂の devcussion で相談してきました
devcussionについてはこちら→ devcussion | Doorkeeper

まず値が異なる場合について質問した結果プロパティのsetterでやるのをやめようといわれたのでこんなかんじに

public static readonly DependencyProperty ContentParagraphProperty
    = DependencyProperty.Register("ContentParagraph", typeof(Paragraph), typeof(BindableRichTextBlockControl), PropertyMetadata.Create(new Paragraph(), (d, e) => {
        (d as BindableRichTextBlockControl).MainTextBlock.Blocks.Clear();
        (d as BindableRichTextBlockControl).MainTextBlock.Blocks.Add((Paragraph)e.NewValue);
    }));

public Paragraph ContentParagraph
{
    get { return (Paragraph)this.GetValue(ContentParagraphProperty); }
    set
    {
        this.SetValue(ContentParagraphProperty, value);
    }
}

これで値が別のに入れ替わる問題が解決できました。ですがもう片方の例外が残ったのでそっちについて聞いていると「1つのParagraphが瞬間的に2か所に追加されるタイミングが存在している」ということを知ったのでここでParagraphをこねることにしました

ちなみにこんなことをして再生成を回避するのはできませんでした。GUNUNU

public static readonly DependencyProperty ContentParagraphProperty
    = DependencyProperty.Register("ContentParagraph", typeof(Span), typeof(BindableRichTextBlockControl), PropertyMetadata.Create(new Paragraph(), (d, e) => {
        var paragraph = new Paragraph();
        var span = e.NewValue as Span;
        if (span != null)
        {
            paragraph.Inlines.Add(span);
        }
        (d as BindableRichTextBlockControl).MainTextBlock.Blocks.Clear();
        (d as BindableRichTextBlockControl).MainTextBlock.Blocks.Add(paragraph);
    }));

public Span ContentParagraph
{
    get { return (Span)this.GetValue(ContentParagraphProperty); }
    set
    {
        this.SetValue(ContentParagraphProperty, value);
    }
}

Spanなら…Spanならうまいこと回避してくれ…なかったよ… そもそもParagraphで分けるとかそういう問題じゃない感じでDocuments領域のやつらを使いまわすなって感じですね…

最終的なコード

一応わけないとどれコピペしていいかわからない気がした

public string Text
{
    get { return (string)GetValue(TextProperty); }
    set { SetValue(TextProperty, value); }
}

public static readonly DependencyProperty TextProperty =
    DependencyProperty.Register("Text", typeof(string), typeof(BindableRichTextBlockControl), new PropertyMetadata("", (s, e) => 
    {
        // TODO : Create Paragraph from string.
        // var paragraph = CreateParagraph(e.NewValue as string);
        var self = s as BindableRichTextBlockControl;
        self.MainTextBlock.Blocks.Clear();
        self.MainTextBlock.Blocks.Add(paragraph);
    }));

これで行けます。毎回パースするのは遅くねという気もしなくもないので何か手がないかなぁとは思ったり
(Paragraph生成時にstringを解析する処理を私の場合しているのでそこはどうにかしたいというだけですが)


失敗コードが多すぎてよくわからん記事になってしまった。まあPVなんてないし問題ない
そもそもどうしてこのコードがダメなのかみたいなの書いてないし…まあ優秀じゃない開発者だからその辺は優秀な人がきっとやってくれるはず…

なかなか体調がよくならない時期なので平日外に出たくない

追記:まったく関係ないのですが、Office Insiderだとバージョンの部分の文字がOffice Insiderになってるんですけど、人によっては"現在の分岐"になってるようです
Current Branchの意味だと思うんですけど何が違うんですかね。Office Insiderの配信されてるブランチは"First Release for Current Branch"だった気が…?

画像の青で囲んだ部分の話です

この辺で

Office InsiderじゃないバージョンでOfficeを黒くすることはできるか

できません(おしまい)

…っておい! って言われそうなのでちゃんと書きます(長く書かないけど)
16.0.6568.xで黒テーマが追加されましたが16.0.6001.xとかで黒くできないんです?って聞かれたので試してみました

やり方というかその辺は 
artfulplace.hatenablog.com
で予想してください。レジストリいじるしそんなね、懇切丁寧に説明する必要もないよね

実験対象は16.0.6001.1054と16.0.6001.1061です

追記2(2016/02/23):お呼ばれじゃないけどこんな記事を見たので
ayano.hateblo.jp

とりあえず試してみた結果「同じアカウントで黒テーマにすると古いほうはDark Grayになる」っていうのを確認しました。
ついでにこの状態でごにょごにょするとDark Grayのまま維持されることも把握しました(特に白にされることもない)
どうして?って聞かれても知ったこっちゃないですしOffice Insiderのフォーラムへどうぞと思いますが、おそらくバージョンが低い時はBlackからDark Grayにして送り返してるんじゃないでしょうか。
向こうのサーバーか何かの実装とか知りません。 オフラインにしてやってみようぜ? PCたくさん持ってる人に言ってください…


追記(2016/02/18):頭が悪いので間違えてました。昨日の内容は忘れてください。1行目に誤りはないです。

とりあえず比較してみましょう。まずこれがBlackテーマ
f:id:fantasticswallow:20160218092027p:plain

次にこれがDark Grayテーマ
f:id:fantasticswallow:20160218092047p:plain

で、次がごにょって出した1061でのスクリーンショット
f:id:fantasticswallow:20160218092117p:plain

どう見てもDark Grayです本当にありがとうございました
というかなんだよこれ見分けつくわけないだろ


以下元の文

16.0.6001.1054の時点で黒く起動するのは確認できるのですが、すぐに白テーマに戻されてしまいます
16.0.6001.1061についても同様です。起動した後にごにょると値の書き換えは起こらないのですが起動するたびに戻されるので意味なし

一瞬だけ黒を楽しみたい方はぜひやってみましょう。何が起きても一切保証しません


というわけで気になるならさっさとOffice Insiderに登録しましょう
https://products.office.com/ja-jp/office-insider

登録方法は私のところの記事か 
artfulplace.hatenablog.com

@kazuakix さんのところの記事で頑張ってください
blog.kazuakix.jp

PowerPointのConvert to Shapeがとても便利でよい感じですという最近の感想
もうちょっと認識精度上がってほしい気もするけどまあ運用でカバーできる範囲

この辺で

Office UI Themeをレジストリで観察してはいけない

さすがOffice、我々には到底できないことを平然とやってくれる

おっふぃーすのUIテーマを変えるとCustomTaskPaneのホストも変えてくれます。しかしWPFとかでコントロールを作るとコントロールは変わらなくて若干残念な気分になります
単純に言うとBlackテーマにしたらオレオレアドインもBlackテーマにしたいってだけです

しかしUIテーマはVBAなりで拾える気がしません。どうしたらいいのか

それレジストリでできるよ!

TLで嘆いていたら@miru_rhさんが見つけたようです

さすがですね、私みたいな雑魚とは経験値が違う…

とまあさておき、レジストリで見ると見つかるとのことなので探してみます
Office 2016だとこんな感じの位置です
"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\UI Theme"
Commonの中にREG_DWORDで入ってます。下のフォルダではないです

2013の場合は15.0にすればOKですね

ですがここで問題が起こります。数字しか入ってないので対応がわかりません
Theme Configuration Group Policy support for Office 2013 – Anything about IT を見ると2013については
0 = White, 1 = Light Grey, 2 = Dark Grey 
となっています。では2016は?ということで検証してみます

結果はこれ
・Office 2016 (ver 16.0.6568.2016)
1 = Colorful
3 = Dark Grey
4 = Black
5 = White

…ぜひとも滅んでほしい感じですね
2がないあたりもよくわかりませんしWhiteが5に飛んでるのもわけわかりません

ですがここで終わりではないわけです。先ほどのはOffice Insider向けにBlackテーマが追加されているバージョンです。ではそれ以前はどうなっていたのでしょうか
結果を見てみましょう
・Office 2016 (ver 16.0.6001.1054)
0 = Colorful
3 = Dark Grey
5 = White

Oh! ミラクルファッキンナンバー!

すごいですね、16.0なら大丈夫とかそんなことはなかったわけですね
そもそもこんな簡単にずれる時点で参照とかしてらんないですね

結論

RenderTargetBitmapを使えばいいんじゃないかな


というわけでただ怒りに任せて書いたみたいな状態です
もし参照したいとか思ってもレジストリだけはやめましょう。ビルド番号まで決められたバージョンでしか使わないというなら止めませんが…

この辺で

ver16.0.6568.2016でExcelに追加されたワークシート関数について

怪奇!いつ追加されたのかわからないワークシート関数!

というわけで追加されたという新しい6個のワークシート関数について調べていきたいと思います
解説は知らないので公式のドキュメントとかを待つとよいかと

追加されたのは
IFS
SWITCH
MAXIFS
MINIFS
CONCAT
TEXTJOIN
ですね。とりあえず一つずつ見ていきます

インクとかの他の情報については昨日の記事でどうぞ
artfulplace.hatenablog.com

追記(2/24):Office Blogで関数についての記事が書かれてたのでそっちをどうぞ
blogs.office.com

IFS関数

プログラミング的に考えるとIf, ElseIf, ElseIf... って感じ。Elseはないです
定義としてはこんな感じ

IFS(logical_test1, value_if_true1 [, logical_test2, value_if_true2] ...)

logical_test* (*には数字が入る)は真偽値を返す式、値を入力します。
value_if_test* は対応する数字のlogical_test*がtrueの場合に返す値を入力します

IFSが返す値は最初に条件を満たした logical_test* に対応する value_if_test* です。これ以降に条件を満たす logical_test* があったとしても無視されます。
すべての logical_test* が false を返す場合 #N/A が返されます

例として書くとこんな感じ。
J7 = 3, J8 = 4, J9 = 10 とします

IFS(J7 = 1,"a",J7 = 2,"b",J7 = 3,"c",J7 = 4,"d",J7 = 5,"e") // = "c"
IFS(J8 = 1,"a",J8 = 2,"b",J8 = 3,"c",J8 = 4,"d",J8 = 5,"e",J8 = 4,"f") // = "d"
IFS(J9 = 1,"a",J9 = 2,"b",J9 = 3,"c",J9 = 4,"d",J9 = 5,"e",J9 = 4,"f") // = #N/A

Else取れないの案外面倒くさい…

SWITCH関数

CのswitchよりもVBのSelect Caseに近いというかVBAのInteraction.Switchというそのものな名前の関数がいる
定義はこんな感じ

SWITCH(expression, value1, result1 [, value2, result2] ...)

expressionには基となる値を入れます
value*, result* は expression が value* と等しい時に SWITCH 関数が返す値 result* をそれぞれ入力します
日本語難しい

SWITCHもIFS同様に最初に等しい値だった value* に対応する result* を返します。これ以降に等しい値となる value* が存在しても無視されます
expression と等しい value* が存在しない場合は #N/A を返します

例を書くとこんな感じ
J7 = 3, J8 = 4, J9 = 10 とします

SWITCH(J7, 1, "a", 2, "b", 3, "c", 4, "d", 5, "e") // = "c"
SWITCH(J8, 1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 4, "f") // = "d"
SWITCH(J9, 1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 4, "f") // = #N/A

追記(2/24):SWITCHのほうは既定値が設定できるようです
IFSと同じかと思っていた…

J9 = 10とするとこんな感じ
SWITCH(J9, 1, "a", 2, "b", 3, "c", 4, "d", 5, "e", 4, "f", "x") // = "x"

MINIFS, MAXIFS関数

どっちも似たようなものだし(何とか)IFSがわかれば簡単ですし…
定義はこんな感じ

MINIFS(min_range, criteria_range1, criteria1 [, criteria_range2, criteria2] ...)
MAXIFS(max_range, criteria_range1, criteria1 [, criteria_range2, criteria2] ...)

MINIFSはすべてのcriteria*を満たしているmin_range内の値の中で最も小さい値を返します
MAXIFSはすべてのcriteria*を満たしているmax_range内の値の中で最も大きい値を返します
やったね!コピペがはかどるよ!!

正直SUMIFSとかAVERAGEIFSで使い方見たほうが早いんじゃないですかねこれ…

すべてのcriteria*の判定終了後にmax_range, min_rangeに値が一つもない場合0を返します

例を書くとこんな感じなのかなぁ。SUMIFSでググったほうが絶対にわかると思う
A1:A5にはそれぞれ1,2,3,4,5が入っていることとします

MINIFS(A1:A5, A1:A5, ">3") // = 4
MAXIFS(A1:A5, A1:A5, ">3") // = 5

MINIFS(A1:A5, A1:A5, ">6") // = 0
MAXIFS(A1:A5, A1:A5, ">6") // = 0

TEXTJOIN, CONCAT関数

CONCATENATE?あいつは死んだんだ…

定義はこんな感じ
CONCAT(text1, [,text2] ...)
TEXTJOIN(delimiter, ignore_empty, text1 [, text2] ...)

CONCATは引数に指定したテキストをすべてそのまま結合して返します
TEXTJOINは指定した text* を delimiter で区切りを入れながら結合します。このとき空のセルが含まれる場合は無視することもできます

これは例を見たほうが早いですね
A1 = "aaa", A2 = "bbb", A3 = "ccc", A4 = "" として、A1 ~ A4を結合してみます

CONCAT(A1,A2,A3,A4) // = "aaabbbccc"
TEXTJOIN(",", FALSE, A1,A2,A3,A4) // = "aaa,bbb,ccc,"
TEXTJOIN(",", TRUE, A1,A2,A3,A4) // = "aaa,bbb,ccc"

こんな感じでとりあえずくっつけるならCONCATを、区切り文字も指定したい場合はTEXTJOINを使う形で行くとよいです。

ん? 君は…CONCATENATEじゃないか!どうしたんだ! なに? 俺が付いてるだろって?

CONCATENATE(A1,A2,A3,A4) // = "aaabbbccc"

そうだな、確かにCONCATと同じ値が返ってくるな

残念ながら君の役目は終わったのだよ

CONCAT(A1:A4) // = "aaabbbccc"
TEXTJOIN(",", FALSE, A1:A4) // = "aaa,bbb,ccc,"
TEXTJOIN(",", TRUE, A1:A4) // = "aaa,bbb,ccc"

CONCATENATE(A1:A4) // = #VALUE!

というわけでレガシーーーExcelと何かするでもなければCONCATENATEではなくCONCATを使いましょう


とりあえず追加分は全部書いたはず

ちなみにIFSとSWITCHはWorksheetFunctionに追加されていません。どこから湧いてきたんだ
って思ったけどこんなんVBAで処理できない気がするんだよな…

この辺で

Office 2016 ver 16.0.6568.2016がOffice Insiderに来ました

ただしメインのインクがおかしい模様…

というわけでOffice Insiderに前回のインク機能のアップデートが降ってきました
11時になってから気づいたのでもうだめです。このブログ記事は300文字後くらいに終わりが

http://answers.microsoft.com/en-us/office/forum/office_insider-office_install/announcing-insider-build-16065682016-for-office/4d740c46-db7d-4d52-a50a-ab61de23ae40
フォーラムのリリースについての記事

support.office.com
いつものやつでJanuary 2016が追加されてます

なんか既知のバグがあるけどちゃんと出す前に直すよって書いてあります。一応読むといいと思います

新機能について雑に書いときます。明日になったら書き直すでしょうたぶん

追記(2/5):Instant Inkingについて書きました。ワークシート関数は別の記事にしました

What's Newが増えた

アップデート後、初めて起動するとこんなダイアログが出迎えてくれます

f:id:fantasticswallow:20160204233528p:plain

これはPowerPointですが、Insider後の新機能についてこんなん増えたよ!ってアピールしてくれてますね。これは便利です
でもこれ大規模アップデートみたいなのあったら大変なことになるんじゃ

Drawタブの追加

というわけで前回書いた通りDrawタブが追加されました
Instant Inkingが試せないのでいまいち嬉しさがないですね

追記:Instant Inkingうちでも試せました。CTH-460を持っていて本当によかった
てっきりSurface Pro3とか専用の機能かと思ってたんですよ
そしたらどうもIntuosで動かしてるって文字が見えたので過去に買ったわこむタブレットを拾ってきてやってみたらできたという

Instant InkingはペンでWord, Excel, PowerPointに入力するとインクとして直接書き込める機能です
??どういう意味? って感じですがペンを近づけると自動的にペンに変わって、ペンを離すと元のモードに戻るってイメージでよいかと

Instant Inkingの場合ポインターで書くのと違い、ペン操作への切り替えをスムーズに行えるためかなり便利です
ポインターではいちいちペンを選択→描く→ポインターに戻すの作業が必要ですが、Instant Inkingでは(ペンを選ぶ→)描くで済むので
ちなみにInstant Inkingでは最後に選んだペンが使用されます

以上Instant Inkingについての追記です。以下元の文


Word, Excel, PowerPointに追加された気がします
インク選択してゴリゴリ描けるのは便利かもしれないです。とはいえいちいちインクに変えたりポインターに戻したり~っていうのは不便かなぁとも思いつつ
Shape RecognitionはPowerPointだけでした。とりあえず今回でかいのはこれだと思うので試してみましょう

PowerPointのDrawタブで"Convert to Shapes"がトグルボタンなのでオンにします
この状態でインクで図形を描けばOKです

例えばこんな感じに四角もどきを描いてみると
f:id:fantasticswallow:20160204232745p:plain

f:id:fantasticswallow:20160204232756p:plain

この通りです。Rectangleの図形になっていますね

一筆書きだけなのかーっていうとそういうわけでもなく、一辺ずつ書いても認識します
なのでこんな感じに

f:id:fantasticswallow:20160204232905p:plain

f:id:fantasticswallow:20160204232917p:plain

矢印を書いても矢印の図形として認識してくれます。これはいい…いいぞ…

ただしあんまり雑に書くと認識してくれません。辺の端が別の辺の端と離れすぎると認識率が一気に落ちるのでつながりのところに気を配りましょう
直線かどうかは全然気にしなくていいので辺の途中は適当で大丈夫です

追記(2/14):図形認識ですが、ペンの種類が"Highlighter"(蛍光ペン?みたいなの)だと変換されません。太さは関係ないのですがそれだけうまくいかないもよう

ちなみにマルチスクリーン環境でプライマリディスプレイとほかのディスプレイの解像度が違う場合Word,Excelにおいて解像度が違うモニター上で表示時にインク処理がおかしくなる気がします。うちだけですかね…
うちは今2560x1440と1920x1080のデュアルスクリーンなんですけどセカンダリのほうにExcelとか持ってくとマウスポインタから遠く離れた位置にインクが描画されることに…ぐぬぬ

写真撮ってみるとこんな感じ。左側にいるサバがマウスポインタ。赤線が今引いてる線
f:id:fantasticswallow:20160205000428j:plain

Blackテーマの追加

やばい、Enterprise向けOfficeみたいな感じやばい。もともとEnterprise向けだった

ハイコントラストで使ってるユーザー向け?に黒のテーマが追加されたようです
変更するとこんな感じ

f:id:fantasticswallow:20160204231515p:plain

かっこいいですね。このまま使うか…

Funnelグラフの追加

値の大きさを長方形の幅で表すFunnelというグラフの種類が追加されたようです。適当にやるとこんな感じ

f:id:fantasticswallow:20160204234134j:plain

ワークシート関数の追加

明日調べる
"IFS, MAXIFS, MINIFS, SWITCH, CONCAT, and TEXTJOIN" が追加されたそうです。詳細がわからない
文字列関係が増えてるようですが

追記:増えた関数についての記事。増えたのは条件判定と文字列関係ですね
artfulplace.hatenablog.com

なんかほかいろいろ

よくわかりません。比較すべき前バージョンの知識もないし…


細かいところは明日のふぁぼツバメが頑張ってくれるでしょう
とりあえず速報的なのの役割は果たせているはずだ…

今はでぶかっしょんで始めた謎プロジェクトを進めてるのですが進捗状況がよくないのでこちらもぐぬぬ
3体ぐらいに分裂したい

この辺で

OfficeのJanuary 2016アップデートについてのメモ

すごい素朴な質問なんですけど普通のユーザーの現行バージョンっていくつなんですかね…? 6366.2056?

とりあえず4日くらい前にJanuaryアップデートについての記事がOfficeブログに出てましたね。今日気が付きました
New to Office 365 in January—new inking tools, collaboration improvements, Office Insider builds now available for Mac and more - Office Blogs
言ってることはまあわかりやすいのですがなんとなく読みづらいので自分用に書いときます

ちゃんと調査しないで誤った記事を書く…ウッ!頭が…

Mac向けのOffice Insiderが始まるよ + 電話とかの話

MacでもOffice Insiderが始まったようです。Mac持ってないのでよくわかりません

追記:Office 365に詳しいかずあきさんがすでに書いてました
blog.kazuakix.jp

またDesktopとWindows 10 Mobileでは対応していたMorph, DesignerがiPhone, iPadでも対応したようです。案外早い
Android上でのInsider Previewでは次のビルドで使えるようになるとかなんとか

インク機能の強化

iPad ProのApple Pencilでめっちゃ描けるぜ!って書いてあるけどそれは置いときましょう。私持ってないし
気になる方はブログで見ましょう

私みたいにWindowsでしかおっひーすを使ってない人達は2枚だけあるWindows版Officeのスクリーンショットに注目しましょう。するとあることに気が付きます。"Draw"タブの存在です。
おそらくOffice Insider向けに今後OneNoteにあるようなインク機能がWord, Excel, PowerPointに来ることが予想されます。Publisher…? 聞こえませんね…

なんでそんなんわかるかというと、見た目上存在しませんがリボンのカスタマイズ画面において"Draw"のタブが存在しているためです。(6366.2062時点。前からある?さすがに前のバージョンに戻すとか無理…)
f:id:fantasticswallow:20160125223122p:plain

とりあえずWordのリボンのカスタマイズ画面と実際のリボン。リボンにはDrawがありませんが設定画面上では存在していることがわかります。
Pen, Color, Thicknessということでまあ普通のペン入力は揃えてる感じ。Select Objectはおそらく普通のモードだと思われます? Eraserはストローク単位かなと

興味深いのはConvertグループです
WordではOneNoteでも存在する「インクを数式に変換する」が用意されています。しかしExcelではConvertグループ自体存在しません。
さらにPowerPointでは"Convert to Shapes"(インクを図形に変換)が用意されています。これこそがおそらく"Shape Recognition"と呼ばれている機能だと思われます
Shape Recognitionはインク入力から近い図形を生成する機能となります。適当にペンで丸を書いたら丸の図形を生成する機能ですね
PowerPointOneNote?にくるのかなと。Shape RecognitionがあればPowerPointで図を作るのも楽になるのではないかなと思ったりします

Instant Inkingはたぶんペン置いたら直接かける的な何かでしょうしうちにはペンがない…


というわけで1月のアップデート(あと6日で1月終わるけど)はインク機能のようです
Shape Recognitionは試してみたいなぁ

Slackの何かを始めましたがまあ当分書くこともない感じ

この辺で