2011-12-01から1ヶ月間の記事一覧

Problem 31

Problem 31 module Problem_0031 (* イギリスでは硬貨はポンド£とペンスpがあり, 一般的に流通している硬貨は以下の8種類である. 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p). 以下の方法で£2を作ることが可能である. 1×£1 + 1×50p + 2×20p + 1×5…

ファイルコピー 同ディレクトリ構造からファイルをコピーする。(ミラーコピー?)

■今後の課題 1.相対パスに対応させる。 2.パスの暗号化(ほぼ必要ないかも) ■コード $root = "C:\target" $fdir = "C:\mirrordir" $tdir = "C:\copytmp" filter FileCopy () { $relativepath = $_.FullName.TrimStart($root) $fpath = Join-Path $fdir …

Worksheetを選択する

概要 指定した名前のワークシートをアクティブにする。構文 [<ExcelFunctionAttribute("Sheetの選択")>] let SelectWorksheet () = let args = "[ExcelDnaSamples.xlsx]Sheet1" let ret = XlCall.Excel(XlCall.xlcWorkbookSelect, args) LogDisplay.WriteLine(sprintf "%A" ret) LogDisplay.Show() (</excelfunctionattribute("sheetの選択")>…

Workbookを選択する

概要 指定した名前のワークブックをアクティブにする。構文 [<ExcelFunctionAttribute("Workbookの選択")>] let ActiveWorkbook () = let args = "[ExcelDnaSamples.xlsx]Sheet1" let ret = XlCall.Excel(XlCall.xlcWorkbookActivate, args) LogDisplay.WriteLine(sprintf "%A" ret) LogDisplay.Show() </excelfunctionattribute("workbookの選択")>…

ファイル名を指定して保存

概要 指定した Filename で保存する。 指定しない場合は上書き保存となる。構文 [<ExcelFunctionAttribute("名前を付けて保存")>] let WorkbookSaveAs () = let filename = @"C:\ExcelDna-0.29\test\SaveAsTest.xlsx" let args : obj [] = [| filename |] let ret = XlCall.Excel(XlCall.xlcSaveAs, args)</excelfunctionattribute("名前を付けて保存")>…

Excelファイルの上書き保存

概要 現在アクティブなWorkbookを上書き保存する。構文 [<ExcelFunctionAttribute("ファイルの上書き")>] let WorkbookSave () = let ret = XlCall.Excel(XlCall.xlcSave, Array.empty) Debug.WriteLine(ret.ToString()) () パラメータ 引数なし戻り値 コマンド実行に成功した場合は true を返す。それ以</excelfunctionattribute("ファイルの上書き")>…

Excelファイルを開く

概要 指定 Filename のExcelを開く。 他パラメータは未調査構文 [<ExcelFunctionAttribute("指定パスのExcelを開く")>] let WorkbookOpen () = let filename = @"C:\ExcelDna-0.29\test\OpenTest.xlsx" let args : obj [] = [| filename |] let ret = XlCall.Excel(XlCall.xlcOpen, args) Debug.WriteLine(ret.</excelfunctionattribute("指定パスのexcelを開く")>…

コマンド一覧

index command 001 xlcBeep 002 xlcOpen 003 xlcOpenLinks 004 xlcCloseAll 005 xlcSave 006 xlcSaveAs 007 xlcFileDelete 008 xlcPageSetup 009 xlcPrint 010 xlcPrinterSetup 011 xlcQuit 012 xlcNewWindow 013 xlcArrangeAll 014 xlcWindowSize 015 xlcWi…

Beep音

構文 let ret = XlCall.Excel(XlCall.xlcBeep, Array.empty) Debug.WriteLine(ret.ToString()) パラメータ パラメータなし戻り値 Beep音の発生に成功した場合は true を返す。それ以外の場合は false を返す。

Excel DNAのデバッグ環境作り

F5実行で即デバッグ実行出来る事を目的としたメモ書きです。 VisualStudioのGUIエディタに自分が作成したコントロールのデバッグを行いたい場合は、VS.exeをターゲットとしたデバッグと同じやり方です。 ■実行環境 Microsoft Visual Studio 2010 Pro Microso…

開いているWorkbookすべての、Workbookステータスをシートに出力する

概要 開いているWorkbookすべての1~100までのステータスをアクティブシートに出力する。構文 [<ExcelFunctionAttribute("Workbookのステータスすべてを取得して、アクティブシートに出力する。")>] let Workbooks () = let ret = XlCall.Excel(XlCall.xlfWindows, Array.empty) let arr = ret :?> obj [,] let list = [ for i in 0..(arr.GetLength(1)-1) -> </excelfunctionattribute("workbookのステータスすべてを取得して、アクティブシートに出力する。")>…

Excel内部関数一覧

index 関数名 001 xlfCount 002 xlfIsna 003 xlfIserror 004 xlfSum 005 xlfAverage 006 xlfMin 007 xlfMax 008 xlfRow 009 xlfColumn 010 xlfNa 011 xlfNpv 012 xlfStdev 013 xlfDollar 014 xlfFixed 015 xlfSin 016 xlfCos 017 xlfTan 018 xlfAtan 019 xlf…

Windowsの取得

概要 開いているWindow一覧を取得して出力する。構文 open ExcelDna.Logging [<ExcelFunctionAttribute("Excelウィンドウ一覧")>] let Windows () = let ret = XlCall.Excel(XlCall.xlfWindows, Array.empty) let arr = ret :?> obj [,] let arr = [ for i in 0..(arr.GetLength(1)-1) -> arr.[0,i] :?> stri</excelfunctionattribute("excelウィンドウ一覧")>…

CodeDom から取得できる言語一覧について

machine.config.commentsから読み込んでたりするのでしょうか。 今度実験してみよう。バージョンによってファイルの場所が変わるみたい。 内部的にバージョンが変わったのは2.0と4.0からなので以下の2フォルダに対象のファイルがある。 Version Path 2.0 C:…

Problem 30

Problem 30 module Problem_0030 (* 驚くべきことに, 各桁を4乗した和が元の数と一致する数は3つしかない. 1634 = 14 + 64 + 34 + 44 8208 = 84 + 24 + 04 + 84 9474 = 94 + 44 + 74 + 44 ただし, 1=14は含まないものとする. この数たちの和は 1634 + 8208 +…

Problem 29

Problem 29 module Problem_0029 (* 2 &#8804; a &#8804; 5 と 2 &#8804; b &#8804; 5について, abを全て考えてみよう: 22=4, 23=8, 24=16, 25=32 32=9, 33=27, 34=81, 35=243 42=16, 43=64, 44=256, 45=1024 52=25, 53=125, 54=625, 55=3125 これらを小さい…

Problem 28

Problem 28数式の書き方としてあってるかどうか分かりませんが・・・・ 解き方としてはこんな感じかな?? 範囲は1001x1001なので ではなくとなるみたい。 つまり 右上の数字は奇数値に対して+2ずつした数の二乗した数になるので、それを逆算をして2で割るこ…

嫌いなVBAで、開いている2つのExcelファイルの列幅を合わせる(アクティブシートを対象とする)

Excel-DNAに撃沈されたので、泣きながらVBAコードを書いてみました。 開いているExcelファイルの名前を指定する必要がありますが まー自分用で使う分には問題ないかなと列幅は「スタイルを指定して張り付ける(幅)」でコピーすると、外部データ取込み?の機…

Excelの列幅を調整するプログラムを作れないか試す。

実験用コードも含めて、うまくいかず撃沈 XlCall.Excelこいつの使い方が良く分からないので、ちょっとどうしようもない状況かも ソースコードを見るとデリゲートになっていて、どのタイミングでセットしてるのやらぱっと見不明Tips集みたいなものを作らない…

Problem 27 の考察のまとめ

■問題文に出てくる式 式A: 式B: 式D:考察1で定理と証明で求められた式 式C:■条件 ■,の求め方 式Cを展開した場合、以下のようになる。 上記式より、,の求め方は以下の通りとなる。 ■,の最大値と最小値 最小値と最大値は式Aと式Bの間と考えられる為、以下…

あるフォルダ配下のファイル一覧を相対パスっぽい形式の一覧出力

DOSだと dir /D /B /Sに対して for を使って書く見たいですが、面倒なのと 「今更覚えても応用利かないし・・・」ってことで PowerShell で書いてみたところ $root = '[フォルダの絶対パス]' dir -Path $root -Recurse | ? { $_.Attributes -ne "Directory" …

あるフォルダ配下の "CREATE TABLE", "CREATE PROCEDURE", "ALTER PROCEDURE" の1行を取得する。

F#

F#を訓練したおかげで、結構ぱっとかけるようになりました。 ■コード open System.IO let list path = let checkArr = [|"CREATE TABLE"; "CREATE PROCEDURE"; "ALTER PROCEDURE";|] let check (t : string) = let t = t.ToUpper() checkArr |> Array.exists…

Problem 27 の考察1

※はてなは結構バグるので文字が切れたり、タイトルにひっついたりします。問題文の式 の範囲はとなる。 この式を式Aと定義する。の範囲はであることが分かっている。 この式を式Bと定義する。ここで推測だが、式Aのの範囲はではないかと考える。 n 結果 素数…

Problem 27

Problem 27■ 総当たりの場合 module Problem_0027 (* オイラーは以下の二次式を考案している: n2 + n + 41. この式は, nを0から39までの連続する整数としたときに40個の素数を生成する. しかし, n = 40のとき402 + 40 + 41 = 40(40 + 1) + 41となり41で割り…

Problem 26

Problem 26 module Problem_0026 (* 単位分数とは分子が1の分数である。 分母が2から10の単位分数を10進数で表記すると次のようになる。 1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125 1/9 = 0.(1) 1/10 = 0.1 0.1…

Advent Calendar 2011 再び

PowerShell Advent Calendar 2011 PostgreSQL Advent Calendar上記二つがなんだか不人気な気がします。 PostgreSQLは登録日がないものに関しては、ここに書き込むかもしれません。 (PostgreSQLで書き残しておきたい事があったのと、分析関数を試してみたい…