なんだか幸せな(脱)貧(希望)ブログ

ときどき反省~HYPER~

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

かっこつけないで

今週は、珍しく私もフルタイムのお仕事で忙しかった。
普段忙しいのは、掛け持ちだから、本当に珍しい。

全力出してきたよ。
珍しくそちらで。

珍しいついでに、画像なしのPC絡みのあらやこれを書いちゃります!



グローバルな会社で働くと、よくあることだと思うのだけど、設定されている用紙が日本規格じゃない。
そのまま出力すると、「なんのデザインでしょうかぁ~」なんて具合になる。
で、当然、ページレイアウトの設定が必要で、そのあとに両面2アップ。

これ、マクロで起動から記録しとけば、ラクにできるでしょ。
フォトショのバッチのイメージで考えていたのよ。
そしたら、起動と終了がマクロそのものではできない。
さらに印刷も、設定が1アップになってみたり・・・マクロ、自動処理の称号はずせ!と心の中でぼやいた。

もともと、初心者VBAでさらに、アプリケーションとしても、さほど得意じゃないワードのご乱心に、私はGに頼るしかなかった。
ググッテも、日本語で、ワードのVBAを説明してくれているサイトはなかなか見当たらないのね。

あったとしても、マクロの吐き出すものを転記していて、コードについての説明はない。
仕方なく、英語やら中国語のサイトで情報を得たよ。
アプリケーション自体がUS版なので、日本語版で見ても、自分で変換していかなきゃいけない部分は多いことを考えると、どっこいどっこい?

ちなみに、自宅のバージョンは2003で、あまり使い勝手もよろしくないので、自宅でVBAなんて組むことはない。
けど、あまりにも、プロパティの名前を思い出せなかったので、やってみた。
自動記録。
もともとA4設定なので、そのままではマージンが動くところが消えてしまうかなと思い、変なサイズを指定。
ラクをしたかったの。ただ、思い出せないアレを表示させたかっただけなの。


まあ、とりあえず、こんな感じ。
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = MillimetersToPoints(35)
.BottomMargin = MillimetersToPoints(30)
.LeftMargin = MillimetersToPoints(30)
.RightMargin = MillimetersToPoints(30)
.Gutter = MillimetersToPoints(0)
.HeaderDistance = MillimetersToPoints(15)
.FooterDistance = MillimetersToPoints(17.5)
.PageWidth = MillimetersToPoints(127)
.PageHeight = MillimetersToPoints(177.8)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
.LayoutMode = wdLayoutModeLineGrid
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub

さて、これの何を言いたかったかといえば、こいつ!!
.TwoPagesOnOne = False
これ、2ページを一つの上にって、それって、他の可能性考えにくくない?
と思いきや、袋とじ印刷の設定。
それ以降は、冊子印刷の設定。
英語なので、面倒臭がらず、読めばいいんだけどね。
察すればいいんだけどね、わからなくない? いらっしゃるように見えないよね。
私の2アップ。

プリントの設定にもいないのよ。
いくつかいじってみても、なかなかどうして上手くいかないので、一つ仮説を立ててみた。
マージンとワイド、ハイトの設定をね、数値で指定して、プリント設定は両面と向き程度にすると上手くいくのかもしれない。
もしかしたら両面も冊子の設定をどうこうしないとダメかもしれないが。
気になるけど、これはお家ではやらない。

どうなるか、それは・・・、どうしよう、HP(FULLFUN)のほうに多少整えて出そうかな。
web関連から少し離れるけど。
無理矢理、エクセルで報告書提出&HP作成の管理システムもzipで出して、VBAつながりにする?
のんびり更新すぎるサイトなので、いつになるか定かでないけれど、気になりすぎた方は、悲鳴上げてください。
悲鳴を聞いたら、真面目に対応します。

もちろん、今後、余力ができて、Javaなんぞを書くようだったら、エラー処理もつけます。

VBAは起動したときに、本家のエラー処理を見せ付けられるので、そのエラーをもらわないプログラムを作ればいいかという見解で作っているので、エラーがあると、場合によっては、全部書き換えてしまう。
依頼者が満足するのは、製作者側もストレスを感じていないことが第一だと思うので、コンピューターが仕事をしやすいアルゴリズムを考える。

エラー処理を内部で行って、依頼者側には見えなくとも、動いている側の手間は余計になる。
それなら、双方にエラーを返さない方法を考えてみればいい。
幸い考えることは大好きなので、書き直しは苦にならないどころか、別件がやってこない&締め切りが先だと、いつまでもいろいろなことを試している。
だもんで、グータラじゃないほうのHPは更新が遅い。
いつも試作、今日も試作、明日も試作、。あら、ニューフェイス? 早速、試作って状態なので。

とりあえず、今週はさすがに未知の世界を突き進み続けるほどの余裕がなかったので、ショートカットキー割り当てて、マクロで処理。
ただ、開くのと閉じるのが、グローバルなはずのショートカットキーが反応してくれないので、マウスで手動。
本当に、未知の世界。ワード。


さて、タイトルの「かっこつけないで」は、エクセル化した後の編集用ブックの名前。
データが自由奔放すぎて、空欄あり、同じ系列のはずのデータもスペース入れてみたり入れなかったりで、私好みの簡単コードにならない。
さらに、担当者によって要望が多岐ということらしいので、ブック自体を分けてしまった。
最低限の処理を一つのブックで行って、あとは、アナタ好みに染まりますってな状態にするには、お好きなブックをチョイスしてねというようにしてみた。

その一つが、かっこつけないで だった。
( 括弧 ) を、全て取り除くだけのブック。

コードはもちろん、とてもシンプル。
ただ、最終行や最終列を取得するのに使えるというウワサのuserangeは、正しく機能したことがなく、最大値を拾ってくるので、カウントとxlアップかトゥ~レフトなんかで判断させて、for文で回した。
列と行を入力の最大範囲まで回して、その間の空白セル以外限定で処理を行う。
取り除くのは、関数のreplaceを活用させてもらう。

反対のことをしてしまうブックももちろん作った。

なんでもかっこつける

その名の通り、データ全てに( 括弧 )をつけるだけのブック。
無条件にかっこをつける。
結構、曲者。

プロシージャー名も対象のシートなどなど省略して、こんな感じ。
いないと思うけど、もし、コピペ利用する場合には、subとか、with 指定する場所 忘れずに書かないとコンパイルしてくれないから気をつけて~。

さらに、このブログは鮮度最優先の怪しげ情報だから、簡単に信用しないで。
特にスペルミスに注意!
なぜなら、参照なし、うろ覚えで放出したから。

dim lastrow,lastcol,i,j as long, num as string

lastrow = cells(rows.count,1).end(xlup).rows
lastcol = cells(1,columns.count).end(xltoleft).column

for i=1 to lastrow
for j=1 to lastcol
num=cells(i.j).value
if num<>"" then
cells(i,j).value="("+num+")"
end if
next
next

一つの処理を考えたときに、プログラムの組み方って、最低でも三種類は自分の頭の中でもできていると思うのよ。
これもforじゃなくてloopの考え方があったり、配列使うほうがラクかもしれない。データを検索して処理って考え方にしてみたら、findを使ってもいいかもしれないし、オートフィルタを使ってからやってもいいのかもしれない。
可能性は広がる一方だ。

最終的に何にしようかって判断するのは、そのプログラムをどうやって使っていくかだと思う。
今回のも、どんなのがいいかって、使用が想定される人に聞きいてみると、虫食いで、入力された情報の形状も整っていない1000行×10列のデータをできるだけ、簡単に処理。
そんなのだったので、私も簡単なのを作成。
作成時間、2分。

起動のイベントには、ダブルクリックを使用。
動きやすいものだと、うるさくなってしまうし、ユーザーフォーム作るまでもないので、テクニシャンと認定されないと動いてくれないダブルクリックに決定。

週末も返上の人もいそうだったので、今週末に需要のありそうなツールを部署の人たちに配布してから、帰宅。
契約の範囲外のことはお互いデメリットしかないので、不在時にはツール頼ってねと。
笑い上戸の方の笑い声で、メールが行き渡ったことがわかったので、そのまま帰り支度。

これらの処理はダブルクリックで起動しますが、
マイク○ソフトが認定するダブルクリックでないと、起動してくれません。
どんなに不器用でも数回で成功するはずなので、頑張ってください。

エクセルにするZ、かっこつけない、なんでもかっこつける


今日は、珍しくフルタイムのほうのお仕事に関わるお話だけど、そちらも話題にしないだけで、しっかり作りこみのプログラムも頼まれるので、楽しませてもろうてます。
私のトイレットペーパーと自宅壁面を心配してくれる優しい方々です。

私も期待に応えられるよう、トイレットペーパーGETに本気出します!

笑いも引きつる手動ウォシュレットへのカウントダウンは始まっている!
頑張れ! MUJINA
そんな感じで、気分を盛り上げちゃってみたりして。
  1. 2011/03/26(土) 00:21:49|
  2. PC絡みのいろいろ
  3. | トラックバック:0
  4. | コメント:0
<<今後にもどる | ホーム | ある種の暴力>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://mu27.blog81.fc2.com/tb.php/726-bd528c0c
この記事にトラックバックする(FC2ブログユーザー)
拍手する

リンク

現在の位置

ときどき反省~HYPER~
 トップページ
  ├ 月別アーカイブ
  |  └ --年--月 --日 (--)
  ├ カテゴリー
  |  └ スポンサー広告
  └ スポンサーサイト
ときどき反省~HYPER~
 トップページ
  ├ 月別アーカイブ
  |  └ 2011年03月 26日 (土)
  ├ カテゴリー
  |  └ PC絡みのいろいろ
  └ かっこつけないで
by AlphaWolfy

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

RSSリンクの表示

カテゴリ

徒然なるままに (531)
反省!?&浪費!? (13)
ネット&丘サーファーじゃない日 (12)
新たなる挑戦 (26)
ちょっと素敵!?恋愛のススメ (13)
姉さん!事件です (70)
密かな楽しみ (34)
感謝!!の気持ちを込めて (30)
目指せ!!菓子職人!? (8)
創作メモ (22)
お知らせ (26)
日本の魅力探索中! (27)
世界の果てまで行ってみる・・・か? (16)
PC絡みのいろいろ (29)
写真のこと (30)

最新記事

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文:

最新コメント

プロフィール

mujina

Author:mujina

フィクションの小説よりスリリング。
信じがたい毎日を書き綴ってます。

人生って奥深い・・・。

FC2ブログランキング

FC2Blog Ranking

検索フォーム

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード

FC2カウンター

  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
content=url