Macro importa schemi TXT

 

 

 

Nel "Sudoku 16x16 Logic Solver & Report Builder" è presente una macro, da lanciare con apposito "CommandButton", che facilita l'importazione in Excel di schemi proposti in formato testo.

Il codice acquisisce gli appunti di Windows in una variabile "DataObject" ed estrae dal testo tutti i simboli ammessi come candidati Sudoku, considerandoli validi come inserimenti iniziali nello schema da risolvere, e considera inoltre una serie di caratteri separatori possibili come riferimenti per le celle vuote iniziali.

Ovviamente il conteggio dei simboli-candidato + indicatori celle vuote deve essere uguale a 256.

Dalla versione iniziale della macro inclusa nel risolutore datato - v 2015 xx yy - e seguenti, gli abbinamenti possibili di indicatori celle vuote e simboli-candidato sono:

Altre particolarità da tener presenti:

La macro segnala un errore se non conta 256 tra simboli-candidato e indicatori di celle vuote, se gli appunti di Windows non sono in formato testo e se non trova nulla negli appunti di Windows (cioè se l'icona "Incolla" di Excel non è attiva).

In pratica basta selezionare un testo che rappresenta uno schema Sudoku 16x16 da un qualsiasi file o pagina web, copiarlo negli appunti (con il classico "CTRL + C" o comando "Copia" da tasto destro etc.) e lanciare la macro: lo schema sarà importato nel foglio Excel.

Di seguito sono incollati alcuni tipi di schema in formato testo, tratti da internet, che si possono importare: potrebbero però esistere altri tipi, l'importante è che il conteggio simboli-candidato + indicatori di celle vuote sia uguale a 256.

 

11 . . . 9 . . . 7 . . 6 4 10 . . . . 15 7 12 . . . . 1 16 . 3 . . 11 . . . 12 . 11 . . 4 . . 3 . 6 14 15 4 . 8 . 6 5 16 . . 12 . 13 9 1 . . . . . 15 . 14 . 3 . 5 4 12 . . . . 3 8 . . . 2 . . 6 . . . . 7 . . . . . . 7 . . . . . 10 2 . . . 14 1 . . 11 . . . . 3 . 7 . . 9 5 6 13 3 4 . . 16 . 9 . . . . 6 . . 7 10 . . . 8 12 . . . . . 4 . . . . . . 12 . . . . 7 . . 13 . . . 1 16 . . . . 2 10 15 . 12 . 3 . 8 . . . . . 2 4 5 . 12 . . 3 6 10 . 13 . 8 14 12 1 . 3 . . 4 . . 9 . 10 . . . 15 . . 16 . 1 2 . . . . 8 7 11 . . . . 5 6 16 . . 10 . . . 15 . . . 4 

 

7 0 0 0 0 5 1 0 3 11 0 0 0 0 0 0 12 8 0 0 0 15 14 0 4 0 9 0 11 0 16 2 0 15 10 2 13 0 0 0 0 7 0 5 8 0 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 0 15 0 0 0 5 0 0 11 15 0 0 3 0 0 0 0 0 0 7 14 6 0 1 0 14 0 16 0 0 0 0 0 0 5 6 0 10 2 0 0 0 0 12 0 0 0 0 8 9 1 10 13 16 0 0 3 0 0 0 0 0 0 0 0 0 15 0 0 9 8 0 0 0 6 4 0 0 10 0 0 7 0 14 0 0 0 11 0 0 16 0 12 0 3 9 0 10 0 0 8 0 0 5 0 3 0 0 0 15 0 0 0 0 13 0 4 0 14 0 16 0 0 0 0 0 14 15 13 0 10 8 0 0 4 0 9 9 0 7 0 6 0 0 0 0 0 0 1 0 0 0 0 5 13 8 0 3 0 10 0 0 0 11 6 0 0 15 0 10 1 15 0 0 0 5 16 14 0 4 0 0 6 0 0

 

 .F....6DB...E8.......G9...F..7...6.C2..B...1A..F1AB.3.E.2..9C.....6D9..A.G14..E.A...5E..7....G.....9G.D.....8.512G.1..C...5....4C....F...5..1.3EB2.F.....8.G6.....8....4..B7...G.4..DC7.F..695.....AC..7.D.F.12B4..5E...1..B3.8...2..5...93.......1B...652....C.

 

000DF200900E00000A000BE0F000000102006074010DG00030950010G00000F200000000008500D00000C5060000008000G0B000EC02050000400G0E7AD96000C0000100A0E00F0D0000D900000304C07000G0C0000B50008G10400A0F00030E00000040000C0A30500010000G00E20C04D0260010008097F60000000E200005

 

--A----C-----O-I
-J--A-B-P-CGF-H-
--D--F-I-E----P-
-G-EL-H----M-J--
----E----C--G---
-I--K-GA-B---E-J
D-GP--J-F----A--
-E---C-B--DP--O-
E--F-M--D--L-K-A
-C--------O-I-L-
H-P-C--F-A--B---
---G-OD---J----H
K---J----H-A-P-L
--B--P--E--K--A-
-H--B--K--FI-C--
--F---C--D--H-N-

 

1B7F|E-8D|53--|---- 
-2-0|45F1|-79-|AD-- 
-5--|7263|D-1C|-F-- 
--4-|0-BC|-8-F|---7 

-C--|F8-6|4-73|--0- 
76-E|D0-2|9F--|43-- 
3F8-|54-B|2-E-|7--9 
0-5-|37-E|---D|--F1 

B0-7|C--4|8---|-A-F 
4--1|-6-9|F--7|-85- 
--F8|---7|--09|2-4- 
-9--|83-F|----|--7- 

D---|2F30|-5--|-E-- 
F---|1ED8|---2|--A- 
-8E3|-C45|--F-|B-1D 
-1--|-B7A|ED-8|F-C3

 

E - - -  - - - A  - - 5 6  - F 8 -
- 6 5 -  - - E -  1 8 - F  - 0 3 A
3 - 7 B  - - 6 5  - D - -  - 2 - -
8 - - -  - - B -  - 3 4 -  - - 5 -

- - - 0  7 - - 1  9 - - -  - - 2 -
9 B - -  - 2 - 0  F 7 - 8  D - - 6
5 - E 7  - - F B  D 1 6 -  C - - -
- D - 6  - 3 - -  2 - 0 -  - A - 7

- - - -  D - - -  - - C -  2 8 7 -
7 3 B E  - - 9 C  0 A 8 2  - - 6 -
- - A -  - 1 - -  - - 7 E  - B 9 -
2 9 - -  - - 0 -  6 4 D -  - - A -

4 7 6 -  - F - -  - - - A  0 - - 2
B - C 3  A - 5 4  8 0 - -  - E F -
D E 9 -  0 C 2 -  4 - F 5  - - 1 8
F - - 5  - B - -  - - 1 9  - 4 D 3

 

 -  -  5  -  4  3  -  -  -  -  2  -  -  -  -  -
 4  -  3  -  -  5  -  -  -  - 10  -  -  -  -  9
 -  -  -  -  -  -  -  -  -  -  -  6  7  -  -  8
 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
 - 15  -  -  - 11  -  -  - 12  -  9  6  -  -  -
 -  6  -  9  -  -  -  -  7 13  -  8 12  -  -  -
 -  -  -  - 14  -  -  -  -  -  -  -  -  -  -  -
 2  -  -  -  5  4  -  -  -  -  -  -  - 11  -  -
 -  -  -  -  -  -  1  - 11  4  5  -  -  3  -  -
 -  -  -  -  -  -  8  -  -  -  3  -  -  4  -  -
 -  9  -  6 13  -  7 12  -  -  -  -  -  -  -  -
 -  7  -  -  -  -  6  -  -  -  -  -  -  -  -  -
11  -  -  -  - 10  -  -  -  -  -  -  -  5  3  -
 -  -  -  -  -  - 12  -  -  -  - 13  -  -  -  -
 -  -  - 13  -  -  9  8 12 16  -  7  -  -  -  -
 -  -  -  -  -  -  -  -  -  -  -  -  -  2  -  -

 

__  1 __ __ __ __ __ __ __ 11 __ __  2 __  3 __
__ __  4 __ __ __  5 __  6 __ __ __ __ __ __ __
 7 __ __ __ __  8  9 __  5 __ 10 __ __ __ __ __
__  2 __ __ __ __ __ __ __ __ __ __ 12 __  1 __
__ __ __ __ __ __ __ 12 10 __ __ __ __ __ __ 13
__ 14 __ __  2 __ __  1 __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ 13 __  9 __ __  7 __ 10
 1 12 __  2 __ 15 __ 14 __  3 __ __ __ __ __ __
__  3 __ __ 11 __ __  2 __ 15 __ __ __ __ __ __
__ __ __ __ __ __  8 __  4 __ __ __ __ __ __ __
__ __  8 __ __ __ 10 __  9 __ __ __ __ __ __  7
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
__ __ __ __ 15 __ __  3 __  2 __ __ __ __ __ __
__ __ 13 __ __ __  7 __ __ __ __ __ __ 16 __  9
__ __ __ __ __ __ __  6 __ 14  1 12 __ __ __ __
 9 __  5 10 __ __ __ __ __ __ __ __ 11 13 __  4

 

 1  .  .  2  3  4  .  . 12  .  6  .  .  .  7  .
 .  .  8  .  .  .  7  .  .  3  .  .  9 10  6 11
 . 12  .  . 10  .  .  1  . 13  . 11  .  . 14  .
 3  .  . 15  2  .  . 14  .  .  .  9  .  . 12  .
13  .  .  .  8  .  . 10  . 12  2  .  1 15  .  .
 . 11  7  6  .  .  . 16  .  .  . 15  .  .  5 13
 .  .  . 10  .  5 15  .  .  4  .  8  .  . 11  .
16  .  .  5  9 12  .  .  1  .  .  .  .  .  8  .
 .  2  .  .  .  .  . 13  .  . 12  5  8  .  .  3
 . 13  .  . 15  .  3  .  . 14  8  . 16  .  .  .
 5  8  .  .  1  .  .  .  2  .  .  . 13  9 15  .
 .  . 12  4  .  6 16  . 13  .  .  7  .  .  .  5
 .  3  .  . 12  .  .  .  6  .  .  4 11  .  . 16
 .  7  .  . 16  .  5  . 14  .  .  1  .  .  2  .
11  1 15  9  .  . 13  .  .  2  .  .  . 14  .  .
 . 14  .  .  . 11  .  2  .  . 13  3  5  .  . 12

 

 0  0  0  0  0  0  0  0  0  9  4  0  3  0  8 11
 0  2 16  0  7  0  5 10  0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0 14  0  0  8  0  0  0  0  9
 0  0  0  0  0  0  0  1  0  0 11  0  0  0  0 13
 0  0  7  0  0  0  0  0  0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0  0 11  9  0  5  0  0  2
 0  1 14  0 10  0  0 16  7  0  0  0  0  0  0  0
 0  4  0 13  1  0  0  7  0  0  3  0  0  0  0  0
 0  0  0  0  0  5  0  0  6  0  0 16 15  0 10  0
 0  0  0  0  0  0  0  0 10  0  0  1  0 14  6  0
 2  0  0  4  0  8 11  0  0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  7  0  0
 8  0  0  0  0 11  0  0  1  0  0  0  0  0  0  0
 5  0  0  0  0 12  0  0 16  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0 14 13  0  7  0 16  1  0
12  9  0 11  0  3  8  0  0  0  0  0  0  0  0  0

 

* * * * * * * 4 3 * F * * 6 D *
* F * 8 * * 3 * * * * 6 B * 2 *
* A E * * C * * * B 4 * * * * *
C * * * * * 9 * * E * * 7 0 3 *

* * * * * * B C D * * * * * * *
* 4 * * * 8 * * A F E * * B * *
E * * * * * * * 7 6 8 * * * F *
6 * 8 * 4 0 A D * * * C * E * *

* 8 * 2 * 9 * * * * * 4 D * 7 *
* 3 * * * * * B 2 * D 0 5 4 * *
A B * 1 C * E * * 9 * * F * * *
* * * * * * F * * * * 7 * * * *

* E C D A * * * * * 9 * * F * *
4 * * 5 * 7 * E C * * 3 * * * *
F * 3 * B * * * * * * * 8 9 * 2
* * * A * D C * * * * * * 1 * * 

 

. B 6 G | . . . . | . C . . | . F . . 
. . . E | 2 7 . . | 9 . . . | C 8 . 1 
. . . . | 9 . . . | 3 2 . 8 | 7 B 5 . 
. . . . | . 3 6 . | E . A . | 4 . 2 . 
--------+---------+---------+-------- 
3 . . B | . . . . | . 6 . 7 | . . . . 
. 6 . 2 | A . . . | . . . . | . E C . 
G . . C | . . . . | F . 5 D | . . . 8 
D . . . | . . . . | 8 . . . | G . . 5 
--------+---------+---------+-------- 
. . D 9 | 6 . 2 . | A F . 1 | . . . . 
. . 5 . | . B . . | . . 4 2 | F . 8 . 
B A . 3 | . . . . | . . . . | . . . . 
. G . . | . . E . | . . . . | 9 . . B 
--------+---------+---------+-------- 
. 3 . . | . A . . | . . . . | B . 7 . 
. . 1 6 | G C 4 . | 5 . E F | . . . 3 
. . . 7 | B 2 . . | . D 9 . | . . 4 C 
. 2 . . | F . . 3 | . . 8 G | . . E . 

 

+---------------------------------------+ 
| A C B . | 6 8 . . | 9 . . . | 4 1 E . | 
| . . . 8 | . 1 . A | . . F D | . 9 . 5 | 
| D 4 1 . | . . . . | 6 A 2 . | 8 . . . | 
| 5 6 7 9 | 3 . . F | 0 8 1 . | . . . . | 
----------------------------------------- 
| . 7 D . | . . . 8 | . . . 4 | 1 . 0 . | 
| 4 . . . | . . . . | 1 E . . | 9 C . . | 
| 2 F . 0 | 7 E . . | . . C . | A . . . | 
| . . . . | . B . . | A 0 D 5 | . 6 . . | 
----------------------------------------- 
| . . A . | 1 2 D 6 | . . 3 . | . . . . | 
| . . 4 3 | . 0 . . | . . A 1 | B . 2 6 | 
| . . 0 7 | . . 8 E | . . . . | . . 1 9 | 
| . D . 1 | C . . . | 7 . . . | . F 4 . | 
----------------------------------------- 
| . . . . | . 3 6 9 | D 7 4 A | F E B 1 | 
| . . . 4 | . 5 . 0 | . . . . | . 7 . . | 
| 7 . 6 . | B F . . | 5 . 0 . | C . . . | 
| . E . D | . . . 4 | . . 6 B | 0 5 9 8 | 
+---------------------------------------+

 

* , * , * , 8 |5 ,10, *, * | *,13, *, * |11, *, *, *
* ,16 , 2 , 5 |13,12, 1, * | *, *, *, 7 | *, *, *, 4
* , * , * , * | *, *, *,14 | *, *,11, * | *, *, *, 1
* ,12 ,11 , * | *, 2, 4, * | 9,15, 3,14 | *, *, *, *
------------------------------------------------------
7 , * , 5 , * | 3, *,14, * | *, *, *,16 | *, 8,11, *
12, 8 , 9 , 3 | *, *, *,16 | *, *, *,11 | *, *, 4, *
2 ,11, 10 , 6 |12, *, *, * |14, 3, *, * | *, *, *,13
* , * , * , * | *,11, *,10 | 2, *, *, * | 3,12, *, *
------------------------------------------------------
* , * , 3 ,14 | *, *, *, 7 | 6, *, 1, * | *, *, *, *
16, * , * , * | *, *, 3, 4 | *, *, *,10 | 6, 1, 8,12
* ,10 , * , * | 1, *, *, * |15, *, *, * |13,16, 5, 3
* , 1 ,15 , * |10, *, *, * | *, 8, *, 3 | *, 9, *,11
------------------------------------------------------
* , * , * , * |16, 7, 6, 2 | *,10, 4, * | *, 3, 1, *
10, * , * , * | *,15, *, * |12, *, *, * | *, *, *, *
11, * , * , * | 8, *, *, * | *,14,15, 5 | 9, 7,16, *
* , * , * ,13 | *, *, 5, * | *, *, 6, 9 |14, *, *, *